我正在使用 GNU Emacs 23.1.50.1(x86_64-pc-linux-gnu,GTK+ 版本 2.18.0)并在 GNU 屏幕中启动我的 Emacs 会话。
由于我升级到 Ubuntu 10.04 和emacs-snapshot
那里的版本我遇到了一些问题。有时 Emacs 会占用所有 RAM 以及相同数量的交换空间 (2+2GB),并且还会占用所有 CPU 时间。当我向进程发送 SIGTERM 时,进程停止占用 CPU 时间,但分配的大量内存仍然存在。Emacs 本身不采用任何键序列。所以通常我向进程发送一个 SIGKILL 并且它会死掉。
现在我想找出错误(如果有的话)的位置并想做一些调试。我看不出这种行为的特殊原因。有时它在 Emacs 刚启动后开始,有时我可以工作一整天而没有问题,有时它发生在两者之间。所以我正在寻找一种调试或监控过程。
我试过strace
了,但这会产生太多的输出。编辑会话的 Strace 输出可以轻松填满我的整个硬盘。在 gdb 中运行 Emacs 也不起作用,因为如果我没记错的话,Ubuntu 构建软件时没有调试符号。那么您对我如何找到(可能的)错误有什么建议吗?你有什么建议?
也许包emacs-snapshot-dbg可能会感兴趣?
“这个包包含对调试 Emacs 有用的调试符号。”
我偶然发现了这个问题的答案。问题不是 emacs,而是 GNOME 密钥环出现故障。当我在没有密钥环守护程序的情况下启动 Emacs 时,一切都很好。所以禁用它在这里解决了我的问题。
目前我正在尝试将 Messages-buffer 的所有内容保存到一个文件中,并希望能找到一些有用的东西: