使用Eclipse CDT和GDB进行调试

我有使用共享库的Eclipse CDT C ++应用程序项目。 该库使用调试信息进行编译,其源代码位于正确的路径中。

现在我尝试用Eclipse和GDB调试我的应用程序。 如果我在应用程序源代码中添加断点,一切都很好。 然后我打开包含的共享库的源文件并将断点放在那里。 当启动调试会话时,我会收到警告: “在加载的符号中没有名为xxx.cpp的源文件”,并且执行不会在此时停止 。 如果我在调试会话已经运行时将相同的断点放在同一个文件中,一切正常。 哪里不对?

谢谢你的帮助。


我有同样的问题,试图在Qt插件(基于Windows DLL,s)设置断点。

我发现这个讨论和解决方案完全适合我,虽然我使用的是Eclipse的更新版本,但它听起来像是同样的问题。

http://www.eclipse.org/forums/index.php?t=msg&goto=555294&S=2aed4155e654e34cb2e84a6fb23de9bf#msg_555294

基本上,它是使用支持延迟断点的较老的gdb协议。 从调试配置中使用“Standard Create Process Launcher”而不是“GDB(DSF)Create Process Launcher”,我现在可以设置所有的DLL断点。

版本:Helios发布版本号:20100617-1415

CDT和GDB版本7.0.0。

祝你好运!


我发现了一个可能回答这个问题的主题:为什么Eclipse CDT会忽略断点?

难道是你试图在尚未加载的共享库中设置断点? 只有在图书馆加载后才能使用。 较新的gdb允许设置延迟断点,但可能尚未(尚未)被CDT支持。 解决方法是在一开始可用的地方设置一个断点,当有问题的共享库已经被加载时将会到达一个断点。 然后在共享库中设置另一个断点。 现在它应该工作。 这有点乏味,但通常起作用。

呃它是answear? 我正在使用CDT v6.0.0.200906161748和GDB v6.8

链接地址: http://www.djcxy.com/p/61663.html

上一篇: Debugging with Eclipse CDT and GDB

下一篇: Can't access MongoDB cluster after primary node fails