【发布时间】:2014-04-24 20:18:46
【问题描述】:
我在使用 gdb 在 emacs 中调试 Fortran 代码时遇到问题。
Gdb 启动正常,程序加载正常并在第一个断点处停止,我在开头设置了 main。然后当我输入n 进入下一行时,程序继续运行(就像我输入了c),而不是进入下一行。为了解决这个问题,我进一步设置了另一个断点。在点击c 后(在main 的第一个断点处),代码跳到并停在后一个断点处(这是我想要的)。
但是,此时,我无法再输入 gdb 命令,因为源代码已移至顶部窗口,而输出已移至底部窗口(而通常所有 gdb 输入命令和程序输出都发生在顶部)窗口,以及底部遍历的源代码)。所以现在在这一点上,当我输入 gdb 命令时,它成为源代码的一部分,我无法使用 n 和 c 等导航它 - 相反,代码有一堆 n 和 @ 987654329@在里面!
我正在运行 Fedora 18 和 GNU Emacs 24.3.1。此外,要在 emacs 中运行 gdb,它坚持我使用开关 -i=mi。在我点击M-x gdb 后,底部的行弹出为:Run gdb (like this): gdb -i=mi ...。我尝试使用开关,例如-annotate=3,但无济于事。
【问题讨论】:
-
它是否可以在 shell 中正常工作(没有 Emacs)?您使用哪种 Fortran 编译器?
-
您好,感谢您的回复。它可以在没有 shell 的情况下从命令行正常工作,只是在 emacs 中不行。我正在使用 gfortran v. 4.8.2。也许我会尝试另一个编译器。
-
你的 Emacs 是从直接使用 gdb 的同一个 shell 启动的吗?
-
你的意思是shell和bash shell一样吗?两者都是从 bash 命令行启动的。
标签: debugging emacs gdb fortran fortran90