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

2024-04-27 00:02:33 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个C++程序,它使用一个SWIG生成的Python前端,我使用CMASE构建它。我现在正试图找到一种调试混合python/C++代码的简便方法。我可以使用gdb获得错误的堆栈跟踪,但是我希望有一些更奇特的特性,例如能够逐步执行代码和设置断点,例如使用Eclipse。在

使用EclipseGeneratorforCMake,我可以生成一个可以导入Eclipse的项目。这很好,我也能够通过纯C++可执行文件。但问题就开始了。在

首先,我无法从Eclipse内部构建Python前端。在命令行中,我只做了“makepython”,但是Eclipse项目中没有目标“python”。在

第二,一旦我编译了Python前端,我就不知道如何跳过包含对我包裹的C++类的调用的Python脚本。Eclipse既为Python和C++进行了调试,又可以将它们组合起来?在


Tags: 项目方法代码程序可执行文件堆栈错误特性
1条回答
网友
1楼 · 发布于 2024-04-27 00:02:33

some more fancy features such as the ability to step through the code and set breakpoints, for example using Eclipse

这些功能如何“花哨”?您可以在PDB中使用Python,或者C++中的GDB。在

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

<>这应该让你在C++和Python断点之间跳转,而不需要通过解释器来跟踪。在


免责声明:我在很大程度上认为ide是垃圾膨胀软件,所以如果Eclipse确实有一个很好的集成方法,我无论如何也不会知道。在

相关问题 更多 >