Emacs:如何调试钩子?

Emacs:如何调试钩子?,emacs,Emacs,我在Emacs配置中遇到了一个错误,我相信它发生在钩子函数上,但我不知道如何获取回溯或查看错误所在,因为我无法让调试器输入钩子函数。如何调试钩子函数?从注释中可以看出,您似乎知道是什么命令导致钩子运行(org mode),但不知道哪个钩子是罪魁祸首。首先,我将使用来告诉您要查看哪些挂钩。(事实上,我会先看看org-mode-hook,但我假设您已经想到了这一点。)hook附带了哪些函数M-x描述变量RET michael dickens hook RET。您使用的主要模式是什么?您在做什么?错误

我在Emacs配置中遇到了一个错误,我相信它发生在钩子函数上,但我不知道如何获取回溯或查看错误所在,因为我无法让调试器输入钩子函数。如何调试钩子函数?

从注释中可以看出,您似乎知道是什么命令导致钩子运行(
org mode
),但不知道哪个钩子是罪魁祸首。首先,我将使用来告诉您要查看哪些挂钩。(事实上,我会先看看
org-mode-hook
,但我假设您已经想到了这一点。)

hook附带了哪些函数<代码>M-x描述变量RET michael dickens hook RET。您使用的主要模式是什么?您在做什么?错误消息和/或问题具体是什么?使用
(setq debug on error t)
启用调试,以查看有关潜在问题的更多有用消息。当问题发生时,缓冲区中有哪些次要模式处于活动状态--
M-x descripe mode RET
检查
*Messages*
缓冲区中是否有错误消息,以及启用
出错时出现的
*Backtrace*
缓冲区。@lawlist:部分问题是我不知道是哪个钩子导致了错误错误。在某些缓冲区中调用(组织模式)时,退出时会引发错误“Abort:end of buffer”。这只发生在一些缓冲区中,并且只发生在函数退出时,这使我认为它发生在钩子中。回溯只是说它来自于(组织模式)的调用,但实际上直到(组织模式)退出后才发生。谢谢,我能够用它找到我添加的导致错误的钩子。