Python使用gdb进行debug的方法
准备工作:
1、必须安装gdb,一般系统默认安装过了,未安装的根据系统使用不同命令安装,比如 yum install gdb,也可以用rpm命令进行安装
2、必须有一个携带符号表的Python,版本与要定位的问题Python版本相同,可以用yum安装,也可以直接下载。
这里,我下载了一个release的Python,同时下载了一个对应版本的符号表debug包。然后将debug包中的output中的*.dbg拷贝至python解压目录的bin下即可。
3、下载对应版本的libpython.py文件(可选)
该文件可以将C的堆栈转换为Python的堆栈,更方便问题定位。可以从Python源码包的Tools/gdb/libpython.py找到。版本必须相同。
调试已有进程,假设进程号为12345
gdb /home/tuzkee/Python-3.9.2/bin/python 12345
/home/tuzkee/Python-3.9.2为Python的路径,版本必须与12345使用的Python版本一致,bin下面必须用前面的方式安装了dbg文件
启动成功后,就可以正常使用gdb命令了
如果想把C的堆栈转换为Python堆栈,可以先执行
source /home/tuzkee/libpython.py
然后就可以执行py-bt命令了
更多的py开头的命令可以敲入py后双击tab联想出来
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· 写一个简单的SQL生成工具