gpt4 book ai didi

c++ - Eclipse GDB 找不到源文件

转载 作者:太空狗 更新时间:2023-10-29 23:11:35 27 4
gpt4 key购买 nike

我的工作区位于我的主目录中。

我目前正在尝试使用 Eclipse Oxygen 和 PyDev 调试加载共享 C++ 库的 python 代码。我可以很好地调试 Python 文件。

我在调用共享库之前(但在加载之后)在测试中的某处使用断点运行程序(pytest 单元测试,如果重要的话),然后运行 ​​C/C++ 附加到应用程序调试并附加到暂停的 python 线程。然后我在我的 C++ 代码中设置断点并恢复 python,并从 GDB 控制台输出中获取:

No source file named /home/myname/.../models/sourcefile.cpp

做一个 ls /home/myname/.../models清楚地表明该文件存在。

我不确定这是否重要,但我的库是使用 CMake 编译的,其中源目录和构建目录是同级目录。例如。工作区是 ~/dev,源代码在 ~/dev/sourceFolder 中,构建文件在 ~/dev/buildFolder 中

更新:

我能够使用 gdb python <thread_number> 在控制台中手动附加到正在运行的 Python 调试线程.这有效并且可以很好地找到我的源文件,允许我在控制台中手动调试。如果我能够让它在 Eclipse 中工作,它仍然会更快、更简单。

我在 C++ 调试配置设置中尝试过的事情:

  • 在首选项中,将 C/C++ -> Debug -> Source Lookup 更改为绝对文件路径优先,配置文件优先,相对文件路径第一
  • 在 CppDebug 设置调试器选项卡中,手动将构建和源目录添加到共享库
  • 在 CppDebug 设置源选项卡中,在源查找路径中手动添加源目录

这些似乎都没什么作用。

最佳答案

对于 cmake 项目:

启动配置可以默认为错误的可执行文件,因此转到启动配置 => main 并检查“C/C++ 应用程序”从这里更改它:build/default/为此:build/cmake.debug.linux.x86_64/

(您可以使用“搜索项目”按钮执行此操作。然后这将选择正确的调试版本,并且在调试时将找到所有源代码。

关于c++ - Eclipse GDB 找不到源文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49656375/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com