0

我是 Eclipse/CDT 开发的新手,对 gcc/gdb 不是很有经验。

我的项目(一个共享库)是使用 SCons 在 Eclipse 中构建的。生成的 .so 在 SCons 脚本的末尾被复制到另一个地方(也许这是一个重要的点)。

我的应用程序是一个插件,用户必须在宿主应用程序中加载。所以我想启动宿主应用程序,加载我的插件/库,然后将调试会话附加到宿主应用程序(我认为这是我应该做的)。

我创建了一个调试配置。我选择“C/C++ 附加到应用程序”来创建我的配置。在主选项卡中,我设置了我的项目、构建配置(调用 SCons 脚本),对于“C/C++ 应用程序”,我放置了主机应用程序的路径。

但这不起作用。可能是因为生成的 .so 的位置。在生成器设置中,生成位置是 ${workspace_loc:/myProjectName}。我不理解这种语法,即使我理解 workspace_loc 代表我的项目根目录。无论如何, iot 与 SCons 文件生成 .so 的位置无关。也许这就是问题的根源?

谢谢你的帮助。Eclipse 文档对这些点非常了解。

更新:我收到以下错误:ptrace:不允许操作。

4

1 回答 1

0

嗯,实际上,它确实有效。但不好。gdb 大约需要 15 秒才能附加到主机进程。

在这个延迟之后,我得到了这个跟踪:

.gdbinit: No such file or directory.
(no debugging symbols found)
attach 25678
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)

但我仍然无法调试:我必须执行“恢复”,因为当附件完成时 gdb 停止,主机应用程序冻结。所以我以为它崩溃了。

我仍然必须找到为什么要附加这么长时间。

于 2010-02-09T16:21:18.853 回答