Emacs - 如何查看/如何调试单个elisp函数/ emacs命令

Jar*_*rek 17 emacs elisp

对于emacs,Org-mode中的表函数有一件我不喜欢的东西.我想看看我作为Emacs命令运行的函数执行的所有函数.

最好的方法是什么?有关如何开始使用elisp代码,特别是单个感兴趣的命令的提示吗?

Mic*_*man 23

  1. C-hf 函数名称,用于查找函数的源代码.
  2. C-uC-M-x 检测Edebug的功能.

每当调用该函数时,Emacs将进入Edebug,这使得逐步执行函数,检查变量以及执行其他典型的调试任务变得容易.有关(info "(Elisp)Edebug")更多信息,请参阅

  • 某些平台,如Gnome 3,不允许Emacs接收`CMx`.因此,要使用edebug来检测功能,请使用"Cu Mx eval-defun". (2认同)

Dre*_*rew 12

我更喜欢传统的Emacs调试器来进行edebug.要使用它:

M-x debug-on-entry the-function RET
Run Code Online (Sandbox Code Playgroud)

然后,无论何时the-function调用,都会进入调试器.使用d步骤通过评估,c如果您想通过一步跳过(不深入它的细节.

the-function当您单步执行时,它有助于查看另一个窗口/框架中的定义.

你可以取消debug-on-entry使用M-x cancel-debug-on-entry.