我有一个带有共享库的项目(动态加载),并且正在尝试对其进行调试。我收到以下错误消息:
No source file named /home/username/Code/path/to/project/MyFile.cpp.
搜索其他线程之后,我确保使用-g进行编译,并且相应的文件夹位于调试配置的“源路径”选项卡上。奇怪的是它给出了正确的绝对路径:它所引用的文件确实存在,所以我不明白为什么它不认为它在那里。
有人知道该怎么办吗?
最佳答案
尽管断点在可执行文件本身中,而不在共享库中,但我还是遇到了同样的问题。为了解决这个问题,我必须打开“调试配置”,选择我的调试配置并调整以下设置:
在底部,有一个链接“选择其他...”以选择创建流程启动器。点击链接。勾选“使用特定于配置的设置”。选择“标准创建流程启动器”,然后按“确定”。
转到“调试器”选项卡,然后在选项卡顶部选择“调试器:gdb / mi”。什么可能/可能不起作用:在同一选项卡上,还有一个复选框“使用完整的文件路径设置断点”-我玩过这个,但它似乎并没有影响我们观察到的问题(显然,我们的源路径已经是完整路径)。
对于共享库中的断点,您可能需要来自Debugging with eclipse cdt and gdb和Why does eclipse cdt ignore breakpoints的其他信息(尤其是有关延迟的断点)。
注意:这是指Eclipse Kepler(4.3)和gdb 7.4。
关于debugging - 调试Eclipse CDT时出现“未命名源文件”错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12965726/