在Eclipse中调试混合的Python/C++代码

Joe*_*oel 6 c++ python eclipse swig cmake

我有一个带有SWIG生成的Python前端的C++项目,我使用CMake构建.我现在正在尝试找到一种方便的方法来调试我的混合Python/C++代码.我能够使用gdb获得堆栈跟踪错误,但我希望有一些更奇特的功能,例如单步执行代码和设置断点的功能,例如使用Eclipse.

使用Eclipse生成器进行CMake我能够生成一个能够导入Eclipse的项目.这很好用,我也可以单步执行纯C++可执行文件.但问题就此开始了.

首先,我无法从Eclipse内部构建Python前端.从命令行我只做"make python",但Eclipse项目中没有目标"python".

其次,一旦我编译了Python前端,我就不知道如何逐步完成包含对我的包装C++类的调用的Python脚本.Eclipse已经为Python和C++进行了调试,但是它们可以组合在一起吗?

Use*_*ess 2

一些更奇特的功能,例如单步执行代码和设置断点的能力,例如使用 Eclipse

这些功能有多“花哨”?您已经可以在 Python 的 pdb 或 C++ 的 gdb 中执行这些操作。

我建议使用 pdb 运行 python 代码(或使用pdb.set_trace()在有趣的点中断执行),并将 gdb 连接到单独终端中的进程。使用 pdb 在 Python 代码中设置断点并单步执行。使用 gdb 在 C++ 代码中设置断点并单步执行。当 pdb 跳过本机调用时,gdb 将接管。当 gdbcontinue允许 Python 继续执行时,pdb 将接管。

这应该可以让您在 C++ 和 Python 断点之间跳转,而无需通过解释器进行跟踪。


免责声明:我主要认为 IDE 是垃圾、过时的软件,所以如果 Eclipse确实有一个很好的方法来集成它,我无论如何也不会知道。