Gdb python进程调试指南

时间:2024-04-08 11:30:39

Gdb python进程调试指南

 

gdb -quiet -batch -ex='thread apply all bt' -p pid    >   xxx   
gdb -quiet -batch -ex='thread apply all py-bt' -p pid    >   xxx  

 

本文档介绍如何使用gdb 跟踪调试运行中的python进程,分两部分: 工具安装和调试;

第一部分:工具准备,版本要求:gdb要求7.x以上版本

    1、安装与python 解释器版本对应的debug 包

Gdb python进程调试指南

 

如果没有对应debug包,请按照:

      2、查找python 调试用libpython.py 或*.debug-gdb.py(上述debug包安装后为degbug-gdb.py)

命令: find / -name *libpython*

Gdb python进程调试指南

 

     3、在/root 目录添加gdb 初始化文件.gdbinit:

命令: vi ~/.gdbinit

编辑输入如下内容:

source /usr/lib/debug/usr/lib64/libpython2.7.so.1.0.debug-gdb.py

Gdb python进程调试指南

 

第二部分: 命令介绍及使用(命令详细介绍,请见*.debug-gdb.py)

  1. 开始测试:调试某个运行的进程
  1. 进入调试(以agent的进程为例子):gdb python pidGdb python进程调试指南

 

2)、查看调用栈:py-bt

Gdb python进程调试指南

3) 进入某个栈帧:f 帧号

Gdb python进程调试指南

4)查看变量:py-print

Gdb python进程调试指南

5)显示当前栈帧执行文件的python 代码:py-list lineNumber

Gdb python进程调试指南

6)移动到上一个或下一个栈帧:py-up/py-down
Gdb python进程调试指南

7)打印当前栈帧所以局部变量:py-locals

Gdb python进程调试指南

 

附: 命令详细介绍请查看libpython.py或*.debug-gdb.py