GDB 找不到源文件

Bru*_*oie 1 c c++ linux debugging gdb

我正在使用 GDB 和“打开片上调试器”项目来调试远程 MIP 目标的交叉编译项目,但由于某种原因,GDB 无法找到源文件。

这里我在目标 elf 文件上调用 GDB。

development@ubuntu:~/vitessesdk/CEServices/build$ mipsel-vtss-elf-gdb obj/CEServices.elf
GNU gdb (crosstool-NG 1.20.0 - vtss-eCos-toolchain-v2) 7.8
Copyright (C) 2014 Free Software Foundation, Inc.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "--host=x86_64-build_unknown-linux-gnu --target=mipsel-vtss-elf".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
Find the GDB manual and other documentation resources online at:
For help, type "help".
Type "apropos word" to search for commands related to "word"...
****Reading symbols from obj/CEServices.elf...done.****
(gdb)
Run Code Online (Sandbox Code Playgroud)

此时我输入目标远程命令进行连接

(gdb) target remote localhost:3333
Remote debugging using localhost:3333
0xa0000000 in ?? ()
(gdb) step
Run Code Online (Sandbox Code Playgroud)

找不到当前函数的边界

(gdb) list
78  /home/development/vitesseSDK/CEServices/build/../third_party/eCos/packages/language/c/libc/startup/current/src/main.cxx: No such file or directory.
(gdb) 
Run Code Online (Sandbox Code Playgroud)

我将列出目录和文件。

development@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
development@ubuntu:~/vitessesdk/CEServices/build$
Run Code Online (Sandbox Code Playgroud)

关于为什么会发生这种情况有什么想法吗?

Bas*_*tch 5

阅读GDB 文档中有关源路径的部分。您需要使用dir命令,例如:

(gdb) dir path/to/sources
Run Code Online (Sandbox Code Playgroud)