Debugging gdb找不到由cc编译的源文件

Debugging gdb找不到由cc编译的源文件,debugging,gdb,cc,Debugging,Gdb,Cc,我有一个源文件testcc.c,它只打印了一个“Hello,World”,我用cc编译它,如下所示 cc -g -o testcc testcc.c 当我运行它时,它工作正常。 现在我想用gdb用以下命令调试它 gdb testcc 我可以看到gdb的输出 GDB是免费软件,欢迎您分发它的副本 在一定条件下,;键入“显示复制”以查看条件。 GDB绝对没有担保;输入“显示保修”用于 细节。GDB 4.16(sparc-sun-solaris2.6),版权所有1996年自由软件 基金会公司 但是

我有一个源文件testcc.c,它只打印了一个“Hello,World”,我用cc编译它,如下所示

cc -g -o testcc testcc.c
当我运行它时,它工作正常。 现在我想用gdb用以下命令调试它

gdb testcc
我可以看到gdb的输出

GDB是免费软件,欢迎您分发它的副本 在一定条件下,;键入“显示复制”以查看条件。 GDB绝对没有担保;输入“显示保修”用于 细节。GDB 4.16(sparc-sun-solaris2.6),版权所有1996年自由软件 基金会公司 但是,当我尝试在第5行设置断点时,我得到了以下消息

(gdb) break 5
Breakpoint 1 at 0x10814: file /home/users/xxx/C, line 5.
(gdb)
问题是/home/users/xxx/C是我当前的工作目录,而不是源文件

然后,我尝试使用file:line number选项

(gdb) break testcc.c:5
No source file named testcc.c.
因此,我包括文件名的完整路径,如下所示

(gdb) break /home/users/xxx/testcc.c:5
No source file named /home/users/xxx/testcc.c.
我很困惑,文件在那里,为什么gdb找不到呢? 我还尝试在启动gdb时指定搜索源文件的目录

gdb -d /home/users/xxx/C testcc

还是不行,有什么问题吗?

经过一整天的努力,我终于发现我们应该用dbx来调试suncc编译器编译的程序。这是上面说的链接


是真正的目录还是您在Solaris系统上安装了Windows文件系统?启动时是否看到“从/path/读取符号到/your/cc/file…完成”的消息?而且,在我的Linux机器上,GDB的版本似乎是7.4.1,所以4.16在我看来似乎很老了。。。最后,为了确保这一点,请尝试gdb./testcc(路径中可能还有另一个testcc)尝试从中获取更新版本的gdb。我怀疑您的
gdb
,版本4.16(sparc-sun-solaris2.6),在调试您的
gcc
@Paul R的副本生成的信息时遇到问题,这是一个真实的目录。@Sjlver,我没有看到该消息,我已经尝试过gdb./testcc,它也不起作用。