[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

相关推荐
T1an-17 分钟前
最右IOS开发A卷笔试题3.31
c++·ios
paeamecium8 分钟前
【PAT甲级真题】- Linked List Sorting (25)
数据结构·c++·算法·pat考试·pat
人道领域10 分钟前
2026技术展望】Python与AI的深度融合:从“能用”到“好用”的质变之年
人工智能·python·大模型·agent
chushiyunen10 分钟前
python异常模拟工具类(异常生成工具类)
开发语言·python
测试199814 分钟前
python+selenium 定位到元素,无法点击的解决方法
自动化测试·软件测试·python·selenium·测试工具·测试用例·压力测试
Deadly_Bug_GF17 分钟前
PID 控制器的核心原理
开发语言·python
rqtz24 分钟前
【C++】揭秘工程实践:Boost 源码编译与 CMake 环境搭建的具体流程
开发语言·c++·网络编程·boost
Yupureki26 分钟前
《Linux系统编程》19.线程同步与互斥
java·linux·服务器·c语言·开发语言·数据结构·c++
967728 分钟前
C++ Lambda 表达式 匿名函数 sort
数据结构·c++·算法
艾莉丝努力练剑31 分钟前
【Linux信号】Linux进程信号(下):可重入函数、Volatile关键字、SIGCHLD信号
linux·运维·服务器·c++·人工智能·后端·学习