我的Emacs有时会落后很多。它似乎是在我调用某些插件之后,但我不确定。我已经优化了我的启动时间,以便自动加载它们。
有时,它需要几秒钟才能完成我输入的内容,而在其他情况下,它只会进入后台,当我打开它时,它会崩溃和核心转储。转储的输出通常是一些崩溃的C函数。
如何在运行时调试性能,并确定哪些库是原因?这可能是一次内存泄漏,但同样,我也不知道。
我怀疑它是expand-region
插件或grizzl
插件。
我在OS X的终端上运行Emacs 24。
非常感谢任何帮助!
答案 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
。你会得到一个包含目前正在评估的命令/函数的回溯,通常会有一些可疑的函数,其名称会使插件离开,从而导致滞后。