我正在为Emacs开发一个主要模式.例如,有什么方法可以在发生事件时在源代码中设置断点吗?
找到您想要单步执行的函数的Lisp源,然后M-x edebug-defun
在那里键入.然后,无论何时执行该功能,您都将被自动放入Edebug,如果您愿意,可以在其中单步执行.
虽然Fontification函数可能有点棘手,因为它们可以在奇数时间调用.您可以使用该message
函数将消息写入*Messages*
缓冲区.另一个技巧是关闭Font Lock(这样你的函数不会被自动调用),然后准备你正在调试的函数edebug-defun
并手动调用它.(注意,您可以使用M-:
(aka eval-expression
)来调用非交互式功能.)