有人知道如何在emacs中使用gdb
吗?
我正在使用此命令创建我的程序
/home/cdim/Local/gcc-4.9.2/bin/gfortran -ffree-form -g ./utests/test_gdb.f -o test_gdb
我要去Emacs Tools
然后Debugger (GDB)
。然后我点击run
按钮,没有任何反应。
答案 0 :(得分:0)
如果您在gdb的外运行它,test_gdb
会怎么做?如果它没有向屏幕发送输出,那么这个(即没有输出)就是你在gdb中里面时会看到的 - 如果你没有设置断点。你设置了一个断点吗?点击run
时没有任何反应?即使test_gdb
没有产生输出,如果一切都很好,你仍然应该看到gdb显示像
[Inferior 1 (process 12345) exited normally]
考虑test.f
:
Program p
Integer :: i = 1
Print *, i
End
我会用gfortran -ffree-form -g -ggdb test.f -o test_gdb
编译它。
(来自https://gcc.gnu.org/onlinedocs/gcc-4.9.2/gcc/Debugging-Options.html#Debugging-Options:
-ggdb
生成供GDB使用的调试信息。这意味着使用最具表现力的格式(DWARF 2,stabs或本机格式,如果这些格式都不受支持),包括GDB扩展(如果可能的话)。
)
然后,正如您所说,转到emacs中的Tools -> Debugger (GDB)
(或发布M-x gdb
)并确保gdb调用使用可执行文件的完整路径,例如: Run gdb (like this): gdb -i=mi /foo/bar/test_gdb
。点击那个迷你缓冲区的回报。
现在,在新的*gud-test_gdb*
缓冲区中设置一个断点:
(gdb) break p
Breakpoint 1 at 0x4007e1: file test.f, line 3.
然后转到菜单条目Gud -> Run
。
答案 1 :(得分:0)
Esc + x 然后输入 gdb ...并输入您的应用程序文件。它将在emacs中启动gdb
答案 2 :(得分:0)
我转移到Trisquel 7.0解决了问题。可能是设置问题。