【发布时间】:2016-12-18 07:35:49
【问题描述】:
我可以使用ddd -pydb prog.py 调试 Python 代码。所有 python 命令行参数也可以在prog.py 之后传递。在我的例子中,许多类已经用 C++ 实现,它们使用boost-python 暴露给 python。我希望我可以一起调试 python 代码和 C++。例如我想设置这样的断点:
break my_python.py:123
break my_cpp.cpp:456
cont
当然,我在使用调试选项编译 c++ 代码后尝试它,但调试器不会越过 boost 边界。有什么办法吗?
编辑:
我看到了http://www.boost.org/doc/libs/1_61_0/libs/python/doc/html/faq/how_do_i_debug_my_python_extensi.html。
我跟着它,我可以为 python 和 C++ 进行调试。但我更喜欢用DDD 进行可视化调试,但我不知道如何在DDD 中给出'target exec python' 命令。如果不是(仅使用链接中的gdb),我应该能够调试 Python 脚本,而不是像链接中那样以交互方式提供 python 命令。
【问题讨论】:
-
不完全是一个答案,但可能会给你一些想法:brendangregg.com/blog/2016-08-09/gdb-example-ncurses.html
标签: python c++ debugging boost ddd-debugger