Emacs经常变慢和滞后 - 如何调试?

时间:2014-08-14 22:42:21

标签: emacs

我的Emacs有时会落后很多。它似乎是在我调用某些插件之后,但我不确定。我已经优化了我的启动时间,以便自动加载它们。

有时,它需要几秒钟才能完成我输入的内容,而在其他情况下,它只会进入后台,当我打开它时,它会崩溃和核心转储。转储的输出通常是一些崩溃的C函数。

如何在运行时调试性能,并确定哪些库是原因?这可能是一次内存泄漏,但同样,我也不知道。

我怀疑它是expand-region插件或grizzl插件。

我在OS X的终端上运行Emacs 24。

非常感谢任何帮助!

2 个答案:

答案 0 :(得分:13)

我建议您尝试M-x profiler-start RET RET,然后重现慢行为(可能甚至几次,因为这是一个基于采样的探查器),然后是M-x profiler-report RET。然后,第一个条目上的C-u RET应该会显示您花费的时间。

至于崩溃:任何崩溃都很可能是Emacs中出现错误的迹象,所以M-x report-emacs-bug

答案 1 :(得分:4)

执行M-x toggle-debug-on-quit,然后在下一个延迟期间点击C-g。你会得到一个包含目前正在评估的命令/函数的回溯,通常会有一些可疑的函数,其名称会使插件离开,从而导致滞后。