GDB无法从文件中读取

时间:2011-10-23 20:03:43

标签: c gdb

我正在使用GDB调试一组C源文件。我用-g标志编译了所有文件。我甚至可以将断点设置在有效位置。

$ cd /home/user/project/test
$ gdb ../src/exec

Reading symbols from /home/user/project/src/exec...done.
(gdb) b driver.c:196
Breakpoint 1 at 0x80698ac: file driver.c, line 196.
(gdb) r input.txt
Starting program: /home/user/project/src/exec input.txt
Breakpoint 1, handle_new_request (curriodriver=0x810b228, curr=0x8143ec0)
    at driver.c:196
196 driver.c: No such file or directory.
    in driver.c

为什么GDB无法从driver.c读取该行?

1 个答案:

答案 0 :(得分:1)

这是因为gdb不知道在哪里查找文件。您可以设置断点,因为断点信息是攻击可执行文件的调试信息的一部分。但要实际显示源代码,需要找到实际的源代码。可能使用不同的工作目录运行gdb将解决问题。