Pat*_*oni 6 c++ python debugging
我得到了一个相当复杂的分布式编程框架,其中有:
BC用 Python 编写,作为twisted插件,在某台机器上运行;BM用 Python 编写,但将 C++ 核心包装为共享库,方式如下:import imp
handle = imp.load_dynamic('mylib', '../libmy.so')
然后每个人都通过一个交互BM与 the 对话,但我们不关心这个。BCjsonrpc
我要做的是调试,可能以进入/单步调试/单步调试方式的方式进行调试,但不限于此BM过程,该过程在前端显示为单个终端中的同构字符流。
我对 C++ 部分非常感兴趣,考虑到 Python 代码几乎最终发布并且运行良好。
由于这种语言混合,我对什么类型的工具可能有用有点困惑。
您可以在通过 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
Run Code Online (Sandbox Code Playgroud)
您还可以通过 gdb 添加断点/进行完整的 C/C++ 调试。来自boost::python 文档的提示