我的工作区位于我的主目录中。
我目前正在尝试调试使用Eclipse Oxygen和PyDev加载共享C ++库的python代码。我可以很好地调试Python文件。
我运行程序(pytest单元测试,如果这很重要)在调试共享库之前在测试中的某个地方使用断点(但在加载之后)然后运行C / C ++附加到应用程序调试并附加到暂停了python线程。然后我在我的C ++代码中设置断点并恢复python,并从GDB控制台输出中获取:
没有名为/ home / myname /.../ models / sourcefile.cpp
的源文件
执行ls /home/myname/.../models
清楚地表明该文件存在。
我不确定这是否重要,但我的库是用CMake编译的,其中源和构建目录是兄弟姐妹。例如。 workspace是〜/ dev,source在〜/ dev / sourceFolder中,构建文件在〜/ dev / buildFolder
更新
我能够使用gdb python <thread_number>
在控制台中手动附加到正在运行的Python调试线程。这工作并找到我的源文件就好了,允许我在控制台中手动调试。如果我能够在Eclipse中使用它,它仍然会更快,更简单。
我在C ++调试配置设置中尝试过的事情:
这些似乎都没有做太多。
答案 0 :(得分:0)
对于cmake项目:
启动配置可能默认使用错误的可执行文件,因此请转到启动配置=> main并检查“ C / C ++应用程序” 从此更改:build / default / 为此:build / cmake.debug.linux.x86_64 /
(您可以通过“搜索项目”按钮执行此操作。 然后,它将选择正确的调试版本,并且在调试时会找到所有源代码。