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