我有一个C++项目,它的前端由CMake生成,我使用CMake构建它。现在,我正试图找到一种方便的方法来调试混合Python/C++代码。我可以使用gdb获得错误的堆栈跟踪,但是我希望有一些更奇特的特性,比如逐步遍历代码和设置断点的能力,例如使用Eclipse。
使用,我能够生成一个能够导入到CMake中的项目。这样做很好,而且我还能够逐步了解纯C++可执行文件。但问题开始了。
首先,我无法从Eclipse内部构建Python前端。在命令行中,我只做"make“,但是Eclipse项目中没有目标”python“。
其次,一旦编译了Python前端,我就不知道如何逐步完成包含对包装好的C++类的调用的Python脚本。Eclipse已经为Python和C++进行了调试,但是它们能结合起来吗?
发布于 2012-11-01 14:14:29
一些更奇特的特性,例如逐步遍历代码和设置断点的能力,例如使用Eclipse
这些特征如何“花哨”?您已经可以在Python的pdb或C++的gdb中这样做了。
我建议使用pdb运行python代码(或者使用pdb.set_trace()在有趣的点中断执行),并将gdb附加到单独的终端中的进程中。使用pdb在Python代码中设置断点并逐步完成。使用gdb在C++代码中设置断点并逐步完成。当pdb跨出本机调用时,gdb将接管。当gdb continue允许恢复Python时,pdb将接管。
这应该可以让您在C++和Python断点之间跳转,而无需通过解释器进行跟踪。
免责声明:我很大程度上认为IDE是垃圾臃肿的软件,所以如果Eclipse有一个很好的方法集成它,我也不会知道它。
https://stackoverflow.com/questions/13178116
复制相似问题