centos下gdb调试python的core文件

环境准备(软件运行环境用的python 2.7.18,和系统自带的2.7.5不同):

1、(生产环境)对活动的python进程号执行 gcore -o ***.core $PID ,生成core文件,将core文件传送到调试环境进行调试。

2、(调试环境)cd root; wget https://www.python.org/ftp/python/2.7.18/Python-2.7.18.tgz

3、(调试环境)tar -zxvf Python-2.7.18.tgz

4、(调试环境)查看libpython.py 。 如find / -name libpython.py -- 以/root/Python-2.7.18/Tools/gdb/libpython.py为例

调试:

1、gdb python ***.core

2、source /root/Python-2.7.18/Tools/gdb/libpython.py

3、thread apply all py-bt

注意事项:

当软件运行环境的python A和系统自带的python B版本不同时,建议编译A时加上-g O0选项 且不要使用--enable-shared选项以静态库连接生成。否则有可能调试时会引用到系统的自带的动态库,导致部分调试信息解析不出来。(配置方法:./configure --prefix=/usr/local/python2718-debug CFLAGS="-g -O0" --enable-unicode=ucs4)

相关推荐
wanhengidc5 小时前
云手机可以息屏挂手游吗?
运维·网络·安全·游戏·智能手机
一只小白菜~5 小时前
实战记录:H3C路由器IS-IS Level-1邻居建立与路由发布
运维·网络·计算机网络·智能路由器
Britz_Kevin5 小时前
从零开始的云计算生活——第五十九天,基于Jenkins自动打包并部署Tomcat环境
运维·jenkins·生活
今晚务必早点睡5 小时前
从零到上线:Docker、Docker Compose 与 Runtime 安装部署全指南(含实战示例与应用场景)
运维·docker·容器
snowfoootball5 小时前
(自用)Linux 常用命令自查文档
linux·运维·服务器
墨染 殇雪6 小时前
webshell及冰蝎双击无法打开?
运维·服务器·webshell·webshell管理工具
R-G-B6 小时前
Linux常见命令总结 合集二:基本命令、目录操作命令、文件操作命令、压缩文件操作、查找命令、权限命令、其他命令
linux·基本命令·目录操作命令·linux常见命令·压缩文件操作·权限命令·查找命令
Chukai1236 小时前
Windows 和 Linux 系统下修改防火墙机制开放端口
linux·运维·windows
FL16238631296 小时前
[ubuntu][C++]onnxruntime安装cpu版本后测试代码
linux·c++·ubuntu