[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

相关推荐
持敬chijing12 分钟前
Python-数据类型-列表
开发语言·python·青少年编程
有点。22 分钟前
*C++哈夫曼树与哈夫曼编码
java·c++·servlet
啦啦啦啦啦zzzz30 分钟前
利用RAII机制进行日志的采集
linux·服务器·c++·网络编程·c++20
2601_962301011 小时前
Python环境搭建及PyCharm破解使用技巧
python·pycharm·环境搭建·避坑技巧·破解使用
nLif1 小时前
基于GTK的简易MFC对话框兼容层 -- MfcToGTK
linux·c++·mfc·gtk
2601_962099462 小时前
Python中的find()函数:用法和示例
python·字符串·索引·子字符串·find函数
大圣编蚕2 小时前
Java StringWriter 详解:从入门到实战
java·开发语言·python
小小、码农3 小时前
C++11右值引用与移动语义 —— 从拷贝资源到转移资源
开发语言·网络·c++·网络协议
for_ever_love__3 小时前
python基础语法学习: requirements.txt
开发语言·python·学习
程序员清风4 小时前
FastAPI 入门:用 Python 快速开发现代后端服务
python·oracle·fastapi