我有一个名为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.
答案 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