eclipse调试器-断点意外行为



我需要一些关于使用Eclipse断点的帮助。我正在使用Eclipse Luna Service Release 2 RC3(4.4.2)和GDB 7.1,在ubuntu 10.04 32位上开发多线程c++应用程序。我设法在断点上放置和停止,但在继续时,我不会让调试器在同一个地方停止,尽管它会周期性地一次又一次地执行该行(不在断点上停止),在下面或上面添加新的断点行,使其停止,但单击"继续"时,它不会在这些行再次停止。我试着用不停模式和不停模式工作,但仍然得到了同样意想不到的结果。我甚至尝试创建新的项目helloworld,在其中添加while循环和sleep,并将断点设置为sleep。它停止在那里,但删除断点、恢复和再次添加断点,它不再停止。。。。

int main() {
    while(1)
    {
        sleep(1);
    }
    cout << "!!!Hello World!!!" << endl; // prints !!!Hello World!!!
    return 0;
}

我从来没有见过这种不怀好意的行为。请帮忙。。。

谢谢,运行

这和我遇到的问题完全一样。我可以像你在你好世界项目中描述的那样复制它(我在WindowsXP上的KeplerSR2上)。

我看到你找到了我发布的关于它的答案(将GDB启动器从"GDS DSF"更改为"Legacy Create Process launcher"),如果其他人遇到同样的问题,我会将其链接起来:https://stackoverflow.com/a/27377261/2937955

但我更好地理解了为什么GDB SDF不能正常工作,至少在我的情况下是这样。gdb似乎没有找到源文件。当我添加断点时,它对我大喊"没有名为D:010workspaceTestGDB.cpp的源文件"。gdb似乎不喜欢反斜杠。。。为什么这只是简历上的问题?这确实很奇怪。

这让我找到了以下答案,我希望它也能对你有用:保留GDBDSF启动器,但在运行>调试配置>你的启动器>源选项卡中,单击添加并选择"项目-相对于源文件夹的路径"。选择您的项目并将其置于"默认"源查找路径之上。

最新更新