【问题标题】:Eclipse CDT 4.2 debug remote external programEclipse CDT 4.2 调试远程外部程序
【发布时间】:2012-10-08 17:37:28
【问题描述】:
我想用 GDB 调试远程应用程序。
我的目标系统是运行gdbserver 的FreeBSD 8.3 机器。该应用程序已在该框中成功编译。我的 Eclipse CDT 4.2 在安装了最新 MinGW 的 Windows 7 上运行。
这是我要调试的外部程序。它既不是我写的,也不是我的图书馆。我不打算编写自己的程序。在这种情况下,我要调试的是 Subversion 1.8.0-dev。
我创建了一个简单的 C 项目,附上 Subversion 的源代码。创建了一个远程调试配置并将源附加到gdbserver 中的正在运行的线程。
现在,eclipse 进入了 Subversion 的 main 函数,但是当我在另一个附加的源文件中设置断点时,Eclipse 说:没有名为 ra_loader.c 的源文件,或者它只是说“没有可用的源”。
那么它只是存在应用程序。
我在这里错过了什么?
【问题讨论】:
标签:
eclipse-cdt
remote-debugging
gdbserver
【解决方案1】:
试试this thread的建议
引用:
1) 运行调试会话并在 Eclipse 中打开 gdb 控制台
(“控制台”选项卡->“显示选定的控制台”按钮->选择一个
以'gdb'结尾)
2) 在控制台中使用命令“pwd”进行打印
gdb 的当前工作目录
3) 使用命令 'info line main' 获取
gdb 期望在其中找到我的“int main(...)”的源文件
功能
4) 将步骤 2 的结果与步骤的结果连接起来
3(应该是相对路径)看是否匹配
我想要的正确源文件
5) 在 gdb 中使用“cd”命令(到
更改当前的工作目录)直到我得到正确的匹配
第四步
知道 gdb 的初始工作目录 (2) 和正确的工作目录 (5),我有 2 个选项:1) 使用 gdb 的 'cd'
每次我启动调试会话时的命令(我可以设置一个
gdb 初始工作目录中的 .gdbinit 文件来执行此操作
自动)或 2)在“调试”中设置“源”选项卡
Configurations',使 Eclipse 使用与 gdb 匹配的路径
初始工作目录('项目 - 相对于源文件夹的路径'
为我工作)