Next: Lisp 对象的读取与打印, Previous: Lisp 本地代码编译, Up: Emacs Lisp [Contents][Index]
19 Lisp 程序调试 ¶
有多种方法可以查找和分析 Emacs Lisp 程序中的问题。
- 如果程序运行时出现问题,可以使用 Emacs 内置的 Lisp 调试器(see Lisp 调试器)
暂停 Lisp 求值器,检查和/或修改其内部状态。
- 可以使用 Edebug,这是 Emacs Lisp 的源码级调试器。
See Edebug。
-
可以使用 trace.el 包提供的跟踪功能,
对问题相关的函数执行过程进行跟踪。
该包提供了用于跟踪函数调用的
trace-function-foreground
和 trace-function-background,以及用于将指定变量的值加入跟踪的
trace-values。详细信息请查看 trace.el 中这些功能的文档。
- 如果语法问题导致 Lisp 甚至无法读取程序,
可以使用 Lisp 编辑命令定位问题。
- 可以查看字节编译器在编译程序时产生的错误和警告信息。
See 编译器错误。
- 可以使用 Testcover 包对程序进行覆盖度测试。
- 可以使用 ERT 包为程序编写回归测试。
See the ERT manual in ERT: Emacs Lisp Regression Testing。
- 可以对程序进行性能剖析,获取优化效率的线索。
See 性能剖析。
用于调试输入输出问题的其他实用工具包括日志文件(see Terminal Input)
和 open-termscript 函数(see Terminal Output)。