我是Eclipse / CDT开发的新手,对gcc / gdb不太熟悉。
我的项目(共享库)是使用SCons在Eclipse中构建的。生成的.so是在SCons脚本的末尾复制到另一个地方(也许这是一个重要的点)。
我的应用程序是一个插件,用户必须在主机应用程序中加载。所以我想启动主机应用程序,加载我的插件/库,然后将调试会话附加到主机应用程序(我认为这就是我应该做的)。
我创建了一个调试配置。我选择“C / C ++ Attach to Application”来创建我的配置。在主选项卡中,我设置了我的项目,构建配置(调用SCons脚本),对于“C / C ++应用程序”,我将路径放到主机应用程序中。
但这不起作用。也许是因为生成的.so的位置。在Builder Settings中,Build Location是$ {workspace_loc:/ myProjectName}。我不理解这种语法,即使我理解workspace_loc代表我的项目根目录。无论如何,iot与SCons文件生成.so的地方无关。也许这是问题的根源?
感谢您的帮助。 Eclipse文档非常关注这些要点。
更新:我收到以下错误: ptrace:不允许操作。
答案 0 :(得分: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在附件完成时停止,主机应用程序被冻结。所以我认为它已经崩溃了。
我仍然必须找到为什么附加这么长时间。