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

时间:2012-03-27 22:00:02

标签: linux emacs gdb

我很确定这是其他IDE的做法,例如:在Windows上,eclipse使用MinGW(GNU工具链的Windows端口)中的gdb输出来映射执行在源代码中的位置以及变量保存的值等等。我通过脚本使用gdb来准备我们的应用程序chroot并做一些其他的bootstrap用于调试目的。脚本开始移动后,输出都是gdb。有没有什么方法可以配置emacs,以便它将使用gdb的输出并允许一种图形调试器,可与eclipse或ms visual studio相媲美?

4 个答案:

答案 0 :(得分:5)

M-x gdb命令期望GDB被置于特定模式。在Emacs-21/22中,gdb必须以--fullname启动,在Emacs-23中,它需要--annotate=3,在Emacs-24中需要-i=mi,所以最可能的问题是您的脚本无法提供此参数。在Emacs-23/24中BTW,您仍然可以使用名为--fullname的旧M-x gud-gdb模式:它不那么花哨,但我发现它更可靠。

答案 1 :(得分:2)

我不确定,但尝试 M-x gdb ,然后这样做 M-x gdb-many-windows ,也许这可以帮到你..

答案 2 :(得分:0)

您可以通过 M-x gdb 直接从Emacs运行gdb。执行此操作时,您可以通过访问代码文件的缓冲区直接与其进行交互。例如,在代码文件缓冲区中,您可以按 C-Space 来设置断点。

有关Emacs的GDB图形界面的更多信息,请查看documentation

答案 3 :(得分:0)

你是如何运行脚本的?如果你可以将它作为gdb命令运行,那么emacs可能会消耗它的输出。

我很久没有使用emacs中的gdb,但似乎M-x gdb要求执行外部命令。你能在那里提供你的剧本名称吗?

如果您根本不了解gdb-mode,那么最好先在较小的项目上试一试。