0

我有一个源文件 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 Free Software Foundation, Inc...

但是,当我尝试在第 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

它仍然无法正常工作,有什么问题?

4

1 回答 1

1

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

http://www.cs.cmu.edu/~gilpin/tutorial/

于 2012-11-15T04:16:08.487 回答