当前位置: 首页 > article >正文

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

文章目录

  • Debug过程
  • Reference

Debug过程

  • 另外:对于core dump: gdb版本是>=7,gdb从版本7开始支持对Python的debug。
  • 确保你的系统中安装了 GDB 调试器和对应版本的 Python 调试信息包(例如 python-dbg 或 python-debuginfo)。
# 第一步先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工具编译的,则:
# package中是编译C++后端并生成可用python调用的前端代码,使用pybind11来封装C++供python使用的
bazel build  --strip=never --copt=-g --copt=-ggdb  //path/to/package/... 
# 然后执行上面的命令,开始debug python和它的后端C++

扩展阅读:

  • python用pybind11扩展C++
  • gdb的使用

Reference

  • https://blog.csdn.net/keidoekd2345/article/details/45037751

http://www.kler.cn/a/387960.html

相关文章:

  • 【钉钉在线笔试题】字符串表达式的加减法
  • Erlang语言的网络编程
  • 利用AI大模型和Mermaid生成流程图
  • Angular生命周期
  • 通过Apache、Nginx限制直接访问public下的静态文件
  • VS2022 安装和配置 vcpkg
  • 【嵌入式开发——ARM】1ARM架构
  • 牛客周赛 Round 67
  • Android 实现一个系统级的悬浮秒表
  • 基于 STM32 的天气时钟项目中添加天气数据的网络获取功能
  • Edge浏览器打开PDF无法显示电子签章
  • mac 本地docker-mysql主从复制部署
  • Hive-testbench套件使用文档
  • Matlab绘制箭头(annotation 、quiver、​quiver3)
  • Python批量合并多个PDF
  • 【Ubuntu24.04】从双系统到虚拟机再到单系统的故事
  • 产品如何3D建模?如何根据使用场景选购3D扫描仪?
  • 书生大模型第四期闯关任务与笔记
  • 在 WPF 中,绑定机制是如何工作的?WPF数据绑定机制解析
  • onnx-runner:使用ORT运行YOLO的ONNX模型
  • 安全关键型嵌入式系统设计模式整理及应用实例
  • Flink的流、批处理
  • 【开源免费】基于SpringBoot+Vue.JS医院管理系统(JAVA毕业设计)
  • 使用ref操作DOM(React)
  • Qt菜单功能实现
  • 【Ant.designpro】上传图片