Linux 我可以将emacs配置为像图形调试器一样使用gdb吗?

Linux 我可以将emacs配置为像图形调试器一样使用gdb吗?,linux,emacs,gdb,Linux,Emacs,Gdb,我很确定其他IDE是这样做的,例如在windows eclipse上使用MinGW(GNU工具链的windows端口)的gdb输出来映射源代码中的执行位置以及变量所包含的值,等等,我一直在通过一个脚本来使用gdb,该脚本在chroot中准备我们的应用程序,并为调试目的进行一些其他引导。一旦脚本开始移动,输出就是全部gdb。是否有任何方法可以配置emacs,使其使用gdb的输出并允许某种图形调试器,类似于eclipse或ms visual studio的调试器?您可以通过M-x gdb直接从ema

我很确定其他IDE是这样做的,例如在windows eclipse上使用MinGW(GNU工具链的windows端口)的gdb输出来映射源代码中的执行位置以及变量所包含的值,等等,我一直在通过一个脚本来使用gdb,该脚本在chroot中准备我们的应用程序,并为调试目的进行一些其他引导。一旦脚本开始移动,输出就是全部gdb。是否有任何方法可以配置emacs,使其使用gdb的输出并允许某种图形调试器,类似于eclipse或ms visual studio的调试器?

您可以通过M-x gdb直接从emacs运行gdb。当您这样做时,您可以通过访问代码文件的缓冲区直接与它交互。例如,在代码文件缓冲区中,可以点击C-Space设置断点


有关Emacs的GDB图形界面的更多信息,请查看。如何运行脚本?如果您可以将其作为gdb命令运行,那么emacs可能能够使用其输出

我已经很长时间没有从emacs使用gdb了,但似乎
M-xGDB
要求执行外部命令。你能告诉我你的剧本名字吗


如果您根本不知道
gdb模式
,那么最好先在一个较小的项目上试用它。

M-x gdb命令要求将gdb置于特定模式。在Emacs-21/22中,gdb必须以
--fullname
开始,在Emacs-23中,它需要
--annotate=3
,而在Emacs-24中,它需要
-i=mi
,因此最可能的问题是脚本无法提供此参数。顺便说一句,在Emacs-23/24中,您仍然可以使用旧的
--全名
模式,名称为
M-x gud gdb
:它不太花哨,但我发现它更可靠。

我不确定,但试试M-x gdb,然后在许多窗口中使用这个M-x gdb,也许这可以帮助您。

我听说Emacs有一个很棒的gdb界面。但我从未使用过它。emacs有一个gdb模式。我用过一两次。如果失败或者您不喜欢它,这可能会有帮助。我已经尝试通过替换gdb命令来运行脚本。它启动了,但我对它的输入似乎从未被gdb实际接收到。例如,如果我键入break class::method并按enter键,我输入的文本将高亮显示,但我从未收到另一个输入提示,比如输入可能没有到达运行gdb的shell。+1。您可能还想看看
gdb许多窗口
,以获得您可能习惯的GUI类型。