如何调试python -c程序

我有一个非常复杂的分布式编程框架,其中有:

>一个控制器,BC,用Python编写的扭曲插件,在某台机器上运行;
> N Daemons,BM,用Python编写,但将C核包装为共享库,方式如下:

进口进出口
 handle = imp.load_dynamic(‘mylib’,’.. / libmy.so’)

然后每个BM通过jsonrpc交互与BC进行对话,但我们并不关心这一点.

我要做的是调试,可能是步进/步进/步调试方式,但不限于BM进程,它在前端显示为单个终端中的同类字符流.

考虑到Python代码几乎最终发布并且运行良好,我对C部分非常感兴趣.

由于这种语言混合,我对哪种类型的工具可能有用感到困惑.

最佳答案 您可以在通过Python加载的任何C/C++扩展上使用gdb.这样做的方法是:

(gdb) target exec python
(gdb) run
 >>> import your_extension as ye
 >>> ye.do_something ()
 >>> # do your python here
 >>> # or just run your python script from here
(gdb) do debugging stuff

您还可以通过gdb添加断点/进行完整的C/C++调试.从boost::python docs开始

点赞