[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

相关推荐
geats人山人海4 小时前
现代c++2.4 虚继承
java·开发语言·c++
csuzhucong4 小时前
天元一号、二号、三号
c++
灯澜忆梦4 小时前
【面向对象编程c++】| 数组与函数
java·数据结构·c++
前端 贾公子4 小时前
LangGraph == 图的状态(State)管理 (中)
开发语言·数据库·python
起个名字费劲死了5 小时前
VisionMaster 十二点标定+单点抓取
c++·visionmaster
the局外人5 小时前
FastAPI中jwt的基本使用与实践
后端·python·fastapi
mklpo1475 小时前
为不支持sse4.2命令集的老旧设备制作Win11 26H2系统镜像,2026-10-11。
运维·windows·python
GoldenSpider.AI5 小时前
用 AI 改流程之前先做「四桶」体检:9 次返工里 8 次靠规则就能消掉(附 Python 发布前校验器)
人工智能·python·自动化·ai智能体
小白快快跑哦5 小时前
python-字符串全解(六):正则表达式-修饰符
python·正则表达式·修饰符
niucloud-admin6 小时前
JAVA V6 多商户商城 开发文档——项目启动
java·开发语言·python