使用gdb在Emacs中调试Fortran代码

时间:2014-03-18 21:28:17

标签: debugging emacs gdb fortran fortran90

我在使用gdb调试emacs中的Fortran代码时遇到问题。

Gdb启动正常,程序加载OK并在第一个断点处停止,我在开始main处设置。然后,当我键入n以转到下一行时,程序将继续运行(就像我键入c),而不是转到下一行。为了解决这个问题,我进一步设置了另一个断点。点击c后,(在main中的第一个断点处)代码跳过并停在后一个断点处(这就是我想要的)。

然而,此时,我无法再输入gdb命令,因为源代码已移至顶部窗口,输出到底部窗口(而通常所有gdb输入命令和程序输出都在顶部窗口,以及在底部遍历的源代码)。所以现在在这一点上,当我输入gdb命令时,它成为源代码的一部分,我无法使用nc等导航它 - 相反,代码有一堆{{1其中包含n

我正在运行Fedora 18和GNU Emacs 24.3.1。另外,要在emacs中运行gdb,它坚持使用开关c。点击-i=mi后,底部的行会弹出:M-x gdb。我尝试使用开关,例如Run gdb (like this): gdb -i=mi ...无效。

1 个答案:

答案 0 :(得分:0)

如果我理解正确,你只能在emacs中打开两个窗口,发生的事情是输出和源代码缓冲区已经取代了gdb命令缓冲区。

您可以使用 Cx b * gud- programname * RET 切换回gdb命令缓冲区,其中 programname 是您正在调试的程序的名称。您可能会发现创建一个新窗口并在其中切换到gdb命令缓冲区很有帮助。

这是因为gdb模式不够聪明,无法将命令窗口保持在最顶层。您可以使用 M-x gdb-many-windows 来改善这一点。

These two个问题也可能会有所帮助。