C++ Eclipse CDT gdb没有名为的源文件

C++ Eclipse CDT gdb没有名为的源文件,c++,eclipse,debugging,gdb,eclipse-cdt,C++,Eclipse,Debugging,Gdb,Eclipse Cdt,我在Red Hat Linux系统上设置了以下Eclipse CDT: 用cdt8.7实现火星月食 gdb 7.6 我的工作区中有两个打开的项目 Project1:构建要调试的可执行文件的主要源代码 Project2:与Project1中的二进制文件静态链接的库代码 Project2在其属性中链接到Project1 当我试图在Project2中的源文件中的调试会话中设置断点时,就会出现问题gdb报告以下错误: No source file named <absolute_path_

我在Red Hat Linux系统上设置了以下Eclipse CDT:

  • 用cdt8.7实现火星月食
  • gdb 7.6
我的工作区中有两个打开的项目

  • Project1:构建要调试的可执行文件的主要源代码
  • Project2:与Project1中的二进制文件静态链接的库代码
Project2在其属性中链接到Project1

当我试图在Project2中的源文件中的调试会话中设置断点时,就会出现问题<代码>gdb报告以下错误:

No source file named <absolute_path_to_file>.
没有命名的源文件。
奇怪的是,我可以使用函数名和/或函数名和行号语法在Eclipse中的
gdb
控制台中设置断点。当我这样做时,
gdb
报告它成功地设置了显示文件和行号的断点。跟踪消息中的文件名没有路径(可能相关?)

使用
objdump
我能够确认我的可执行文件中包含所有符号和文件(但不是绝对路径…相关?)

在使用函数名设置后,一旦调试器在断点处停止,我就可以像正常情况一样在调试透视图中添加/删除断点;即使我重新启动调试会话

我已经看到很多关于将共享库加载到
gdb
中的评论,但是我试图破解的代码是静态链接库,而不是共享库

考虑到一旦我在conosole中手动添加了断点,我就可以使用普通方法添加断点,这表明我的
gdb
设置中可能缺少一些东西

有什么想法吗


谢谢

看起来像是eclipse bug。检查gdb跟踪控制台,查看当eclipse试图设置断点时gdb如何响应。我相信您在这里遇到了eclipse CDT错误。代码库的这一部分已作为的一部分进行了重大改进。这将是一个多月后下一个Eclipse版本的一部分。但是如果你有时间对你的案例进行测试,但它仍然不起作用,我有机会在发布之前解决这些问题@JonahGraham我将尝试测试您链接到的新版本,并将向您报告。谢谢@JonahGraham我能够在你的链接中测试Eclipse的版本,但不幸的是同样的问题也存在。@unluddite谢谢你。你愿意和我一起工作一段时间,这样我就可以重新创建你的测试用例,这样我就可以修复它了吗?首先,我需要GDB MI跟踪。您可以通过在Eclipse控制台视图中切换到“gdb跟踪”控制台来实现这一点。检查gdb跟踪控制台,查看当eclipse试图设置断点时gdb如何响应。我相信您在这里遇到了eclipse CDT错误。代码库的这一部分已作为的一部分进行了重大改进。这将是一个多月后下一个Eclipse版本的一部分。但是如果你有时间对你的案例进行测试,但它仍然不起作用,我有机会在发布之前解决这些问题@JonahGraham我将尝试测试您链接到的新版本,并将向您报告。谢谢@JonahGraham我能够在你的链接中测试Eclipse的版本,但不幸的是同样的问题也存在。@unluddite谢谢你。你愿意和我一起工作一段时间,这样我就可以重新创建你的测试用例,这样我就可以修复它了吗?首先,我需要GDB MI跟踪。您可以通过在Eclipse控制台视图中切换到“gdb跟踪”控制台来实现这一点。