Previous: edebug 源码级调试器, Up: 调试 [Contents][Index]
17.5 调试练习 ¶
- 安装
count-words-example 函数,并使其在调用时进入内置调试器。在包含两个单词的区域上运行该命令。你需要多次按下 d 键。在你的系统中,命令执行完毕后会调用钩子吗?(有关钩子的信息,参见 Command Loop Overview in The GNU Emacs Lisp Reference Manual。)
- 将
count-words-example 复制到 *scratch* 缓冲区,为该函数启用 Edebug 检测,并逐步执行其运行过程。该函数本身不必存在缺陷,不过你也可以主动引入一个。如果函数没有缺陷,逐步执行过程会顺利完成。
- 在运行 Edebug 时,输入 ? 查看所有 Edebug 命令的列表。
(
global-edebug-prefix 通常为 C-x X,即先按 CTRL-x,再按大写 X;在 Edebug 调试缓冲区之外执行命令时需使用此前缀。)
- 在 Edebug 调试缓冲区中,使用 p
(
edebug-bounce-point)命令查看 count-words-example 正在处理区域中的哪个位置。
- 将光标移动到函数中更靠后的某个位置,然后输入 h(
edebug-goto-here)命令跳转到该位置。
- 使用 t(
edebug-trace-mode)命令让 Edebug 自动遍历执行函数;使用大写 T 开启 edebug-Trace-fast-mode。
- 设置断点,然后以跟踪模式运行 Edebug,直至运行到断点位置。