gdb :(找不到调试符号)

时间:2013-08-12 15:10:49

标签: c++ ubuntu gdb g++

我有一个名为test的文件。即使用-g编译它,当我在gdb中运行它时,它说没有找到调试符号。我也尝试过使用-ggdb,但它也没有用。请帮忙。

Output for : gdb test

This GDB was configured as "x86_64-linux-gnu".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from /usr/bin/test...(no debugging symbols found)...done.

3 个答案:

答案 0 :(得分:7)

问题是您正在尝试调试错误的程序。

您的程序名为test,但您正在调试/usr/bin/test(系统程序几乎肯定会在没有符号的情况下发货;即使它确实包含符号,它们也与您的来源无关码)。

gdb将搜索$PATH以查找可执行文件。来自here

  

exec-file [filename]指定要运行的程序(但不是   符号表)在文件名中找到。 gdb搜索环境   如果需要,可以使用变量PATH来定位程序。省略文件名   意味着丢弃有关可执行文件的信息。

尝试使用命令:

$ gdb ./test

答案 1 :(得分:1)

删除a.out,然后重试。它对我有用,因为我也遇到了同样的错误。

rm a.out
gcc -g your_code.c

答案 2 :(得分:0)

检查可执行文件是否已被删除,您可以使用file /usr/bin/test

查看