在EMACS中运行GDB

时间:2014-12-29 16:22:11

标签: gdb fortran

有人知道如何在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按钮,没有任何反应。

3 个答案:

答案 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解决了问题。可能是设置问题。