gpt4 book ai didi

emacs - 如何调试使 Emacs 崩溃/使用 100% CPU 的 Emacs lisp?

转载 作者:行者123 更新时间:2023-12-04 15:02:46 24 4
gpt4 key购买 nike

我正在使用一个外部库,它经常与我的 CPU Hook 。我想帮助作者修复它(因为我真的很喜欢这个库),但我不知道如何正确调试崩溃。

调试 Emacs lisp 的任何提示?请记住,当它崩溃时,Emacs 不再工作,我必须杀死它(因此 Emacs 本身的解决方案可能没有帮助)。

编辑 :我应该澄清它是字节编译的,这个问题并不总是发生在其他人身上,所以它可能特定于我的架构/初始化文件。不过,它肯定与这个库有关。

最佳答案

首先,始终调试 Emacs-Lisp 程序的未编译版本,除非您确信问题是由字节编译器引入的。

其次,如果代码挂起 Emacs,那么代码可能处于无限循环中,并且禁止退出绑定(bind)非零。所以要做的第一件事是检查库的源代码并将所有禁止退出引用更改为其他内容,以便 C-g 可以停止循环。之后,加载库,将 debug-on-quit 设置为 t,当你按下 C-g 时,你应该会得到一个很好的调试跟踪,它会显示代码循环的位置。从那里开始,调试问题应该像调试任何其他无限循环一样简单。

关于emacs - 如何调试使 Emacs 崩溃/使用 100% CPU 的 Emacs lisp?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8780933/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com