我有一个源文件testcc.c只打印一个“Hello,World”,我用cc编译它,如下所示
cc -g -o testcc testcc.c
运行时它工作正常。 现在我想用gdb用以下命令调试它。
gdb testcc
我可以看到gdb的输出。
GDB是免费软件,欢迎您分发它的副本 在一定条件下;键入“显示复制”以查看条件。 GDB绝对没有保修;输入“show warranty” 细节。 GDB 4.16(sparc-sun-solaris2.6),版权所有1996 Free Software 基金会,公司......
但是,当我尝试在第5行设置断点时,我收到以下消息
(gdb) break 5
Breakpoint 1 at 0x10814: file /home/users/xxx/C, line 5.
(gdb)
问题是/ home / users / xxx / C是我当前的工作目录,而不是源文件!
然后,我尝试使用文件:line-number options
(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
它仍然不起作用,有什么问题?
答案 0 :(得分:1)
经过一整天的奋斗,我终于发现我们应该使用dbx来调试Sun cc编译器编译的程序。这是链接说的。