我正在尝试调试一个段错误,但似乎有些常见的gdb
命令未按预期工作。如果我执行以下操作:
gdb ./executable_name
break main
run
list
我收到以下错误:
(gdb) list
1 <built-in>: No such file or directory.
同样,如果我让程序运行直到它出现段错误,然后尝试使用检查堆栈中的特定帧
bt
up
list
我得到一个类似但更短的错误:
(gdb) list
1 in <built-in>
我以前在其他基于 Ubuntu 的系统上使用过 GDB,并且没有遇到过这样的问题,所以我假设我仍然需要在我的系统上正确设置 GDB,以便它知道在哪里查找可执行文件的相应源代码。有谁知道我如何在使用
list
时让 GDB 显示源代码?调试时的命令?
最佳答案
在问上述问题之前,我应该多看一些。上面的可执行文件不是在 Debug模式下构建的。我正在使用 ROS
和 catkin
, 所以使用 catkin build -DCMAKE_BUILD_TYPE=Debug
在包目录中解决了这个问题。
关于linux - 使用 list 命令时 GDB 不显示源代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60538027/