[python] 如何debug python脚本中C++后端的core dump

文章目录

Debug过程

  • 另外:对于core dump: gdb版本是>=7,gdb从版本7开始支持对Python的debug。
  • 确保你的系统中安装了 GDB 调试器和对应版本的 Python 调试信息包(例如 python-dbg 或 python-debuginfo)。
shell 复制代码
# 第一步先gdb跑执行python脚本时使用的python bin
gdb path/to/python
# 进入debug 对话框口, 
run python_script.py arg1 arg2 

# 或
gdb -ex r --args python <programname>.py <arguments>

# 打断点
break your_script.py:10  或者 break function_name

############ debug core信息
gdb path/to/python  path/to/core_file
#进入对话框后 执行bt
py-bt

# 如果进程已经开始运行,你可以通过 PID 来接入它:
gdb python <pid of running process>
  • 如果python中有执行C++后端,则在编译python应用的时候,需要在build的时候带上debug信息,这样debug时,更能发现问题细节; 如果用bazel工具编译的,则:
shell 复制代码
# package中是编译C++后端并生成可用python调用的前端代码,使用pybind11来封装C++供python使用的
bazel build  --strip=never --copt=-g --copt=-ggdb  //path/to/package/... 
# 然后执行上面的命令,开始debug python和它的后端C++

扩展阅读:

Reference

相关推荐
三川6988 分钟前
Tkinter库的学习记录08- 容器控件
python
c_lb728813 分钟前
近期AI量化工具选择,学习开发执行要分开
人工智能·python
天天进步201518 分钟前
Python全栈项目--校园食堂点餐与推荐系统
开发语言·python
aaPIXa62220 分钟前
C++模板元编程:编译期计算Fibonacci数列
java·开发语言·c++
Ulyanov21 分钟前
雷达导引头体制演进、技术特点与数学模型
python·雷达电子对抗·导引头
eybk35 分钟前
写一个可以编制pdf文件的python程序
开发语言·python·pdf
卷无止境40 分钟前
从Python的cryptography库出发,从零开始理解密码学,到构建零信任网络
后端·python
Augustzero42 分钟前
`co_await` 按下暂停键之后:从零看懂 C++20 协程
c++·后端
YFJ_mily1 小时前
**Python 实战:写一个论文 PDF 投稿自检工具|附 IPAT 2026 智能光子学会议征稿信息
人工智能·python·pdf·量子计算·论文投稿·智能光子学
三川6981 小时前
Tkinter库的学习记录05-文本框Entry
python