[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

相关推荐
ShineWinsu2 小时前
对于Qt:QDial常见属性以及信号的解析
开发语言·c++·qt·gui·客户端·旋钮·qdial
qq_158895411117 小时前
AI 音乐生成完成后,音频 URL 为什么会过期?一套可恢复的交付方案
python·api·ai音乐
Warson_L9 小时前
高性能架构设计
python·go
科技苑10 小时前
C++ CAS与ABA问题详解,无锁编程的经典陷阱怎么解决?
c++·人工智能
databook10 小时前
新数据到手,先跑哪几步检查
python·数据分析
czq_268671948710 小时前
Python打卡第46天
开发语言·python
Flynt12 小时前
日涨4000星的OSINT工具,我拿Linus的用户名和一个随机字符串实测了一遍
python·安全
BaiPeter14 小时前
ZPL文件预览
开发语言·c++
曲径海盗14 小时前
【Python 学习第 53 天】列表基础
python·学习笔记·编程入门
Dumbness14 小时前
群里 @ 机器人发"查订单",指令一条都没命中:微信群机器人在路由前漏掉的几步归一化
python·微信