繁体   English   中英

gdb没有显示行源

[英]gdb not showing the line source

GDB没有在next / stop之后显示行源,并且只显示行号和源文件,如下所示:

(gdb) n
7   in test/test.c

而我希望它显示当前行,如下所示:

(gdb) next
17        char * good_message = "Hello, world.";

.gdbinit中的任何设置可能有助于我这样做?

而我希望它显示当前行,就像这样

在许多平台上,例如ELF ,编译器记录源的路径(在您的情况下为test/test.c )和编译目录,允许GDB显示源,而不管您调用它的目录。

但是许多平台的灵活性较低,并且没有记录编译目录的地方。 在这样的平台(例如AIX)上,您必须在编译目录中启动GDB,或者使用directory命令告诉它在哪里查找源。

可能我的答案可能不是一个完美的解决方案,但编译源程序的方式很重要。 例如,在我的情况下,如果您执行g++ fib.cpp -o fib然后尝试运行gdb fib ,它将不会使用list打印源代码。 使用调试标志g++ -g fib.cpp -o fib然后用gdb运行解决了我的问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM