GDB找不到源文件

时间:2015-06-24 19:17:18

标签: c++ c linux debugging gdb

我正在使用GDB和“Open On-Chip Debugger”项目来调试远程MIP目标的交叉编译项目,并且由于某种原因,GDB无法找到源文件。

这里我在目标elf文件上调用GDB。 开发@ ubuntu:〜/ vitessesdk / CEServices / build $ mipsel-vtss-elf-gdb obj / CEServices.elf GNU gdb(crosstool-NG 1.20.0 - vtss-eCos-toolchain-v2)7.8 版权所有(C)2014 Free Software Foundation,Inc。 这是免费软件:您可以自由更改并重新分发它。 在法律允许的范围内,不提供任何担保。输入“显示复制” 并详细说明“保修”。 此GDB配置为“--host = x86_64-build_unknown-linux-gnu --target = mipsel-vtss-elf”。 输入“show configuration”以获取配置详细信息。 有关错误报告说明,请参阅: 在线查找GDB手册和其他文档资源: 如需帮助,请输入“帮助”。 输入“apropos word”来搜索与“word”相关的命令...... ****从obj / CEServices.elf读取符号...完成。**** (GDB)

此时我输入目标远程命令进行连接 (gdb)target remote localhost:3333 使用localhost进行远程调试:3333 0xa0000000在? () (gdb)一步 找不到当前功能的界限 (gdb)列表 78 /home/development/vitesseSDK/CEServices/build/../third_party/eCos/packages/language/c/libc/startup/current/src/main.cxx:没有这样的文件或目录。 (gdb)

我将列出目录,文件就在那里。 开发@ ubuntu:〜/ vitessesdk / CEServices / build $ ls ../third_party/eCos/packages/language/c/libc/startup/current/src/main.cxx ../third_party/eCos/packages/language/c/libc/startup/current/src/main.cxx 开发@ Ubuntu的:〜/ vitessesdk / CEServices /建造$

有关为何发生这种情况的任何想法?

2 个答案:

答案 0 :(得分:2)

阅读有关source path in GDB的部分。您需要在dir命令中使用(gdb)命令。提示。

答案 1 :(得分:1)

事实证明,在发出“target remote localhost:3333”之后调试远程目标时,我需要发出“load”来将映像加载到目标,因为我没有在目标上运行gdbserver。加载后,它工作正常。 - Bruce Lavoie刚才