在flymake模块中调试emacs elisp中的旋转是否有技巧?

Che*_*eso 7 debugging emacs elisp flymake

我在C#flymake模块中的emacs elisp中获得了CPU旋转.(Flymake是emacs中定期运行构建的模块,然后突出显示当前缓冲区中的任何语法错误或警告.)

我即将涉足代码,寻找可能发生旋转的可能位置.

虽然我在这里,有没有人有解决旋转的建议?emacs中有什么东西可以让我停止执行并看到它停在哪里?

Eri*_*ven 9

使用M-x set-variable设置debug-on-quitt.然后当问题发生时,点击C-g并调试器将为您提供停止时正在运行的内容的回溯.


Sam*_*ham 5

Flymake为启用了flymake-mode的每个缓冲区设置1秒计时器,以检查缓冲区是否在flymake-no-changes-timeout几秒钟之前被修改.

如果你在flymake模式下打开了很多缓冲区(几百个),那么这可能会吞噬一个令人惊讶的大量CPU,我有一个修补版本的flymake,它有一个全局计时器来解决这个问题,以及其他一些问题:https://github.com/illusori/emacs-flymake

对你来说这可能不是同一个问题,但对我来说,当打开600个文件时,它会在桌面模式下打开时锁定Emacs,我很幸运能够每15分钟处理一次按键.