我正在尝试设置Emacs和GDB,以便我可以运行gdb-many-windows选项。但是,运行任何二进制文件后,m-x gdb会挂起,而Emacs开始消耗100%的CPU并且无响应。
我正在竞选:
以下是发生的事情:
我用m-x gdb运行一些二进制文件,然后运行' gdb --i = mi [二进制名称]'。一切正常,正确的窗户设置和一切。然后我发出命令' run'到GDB,它正确运行代码。但是一旦代码完成,Emacs就会变得没有响应并开始消耗100%的CPU能力。即使使用简单的hello world程序也会发生这种情况。我尝试过各种选项,比如--annotate = 3, - fulllname等。
如果我改为运行m-x gud-gdb,我可以运行相同的二进制文件,gdb正常退出,我可以继续使用Emacs。
非常感谢任何帮助。
答案 0 :(得分:2)
我的mac确认了这个错误。更重要的是,具有相同配置(实际上根本没有配置)的emacs在我的Linux机器上运行良好。所以这是一个与Mac OS X相关的错误。
gdb
是导致helm
在到达终点时冻结emacs的关键模式。semantic-mode
引起的,而是helm-semantic-or-imenu
引起的,当你想使用semantic-mode
时可能会启用。它是由gdb
引起的,它在Mac OS X中表现不佳,甚至其基本功能都有错误。在Linux下,它没有任何明显的问题,这就是.emacs
在Linux中工作的原因。搜索semantic-mode
并确保停用所有semantic-mode
,然后它就可以正常工作。
请注意,即使您在运行gdb
之前停用semantic-mode
,如果最初启用semantic-mode
,它仍会冻结emacs。 addi
最初已停用。
感谢 thierryvolpiatto 获取调试方面的帮助: https://github.com/emacs-helm/helm/issues/1168#issuecomment-140132443