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)

相关推荐
星恒随风1 小时前
MySQL 从零入门(六):复合查询详解——多表查询、自连接、子查询与 UNION
linux·服务器·数据库·mysql
少司府1 小时前
嵌入式入门篇(二):初识STM32F103ZET6
linux·python·stm32·单片机·嵌入式硬件·mcu·嵌入式软件
无足鸟ICT2 小时前
【RHCA+】IO调度算法
linux·服务器
打工仔折腾 AI2 小时前
Changedetection.io 网页变动监控:Docker 部署、通知配置与公网暴露实践
运维·人工智能·后端·python·docker·容器·性能优化
wacsii2 小时前
【Linux进程(四)】命令行参数与环境变量
linux·服务器
无奈笑天下2 小时前
银河麒麟上lsblk命令教程详解
linux·运维·服务器·数据库
fengkai45453 小时前
Prometheus+K8s弹性伸缩综合项目
运维·kubernetes·k8s·prometheus·hpa·vpa
科研邪修法4 小时前
培训PDF保护配置:把需求转换成可验收权限
linux·服务器·网络
Felven4 小时前
中科驭数100G网卡RDMA性能测试
linux·rdma·中科驭数·100g网卡
分布式存储与RustFS5 小时前
镜像仓库的层别只堆本地盘:用 RustFS 给 Harbor 当 S3 后端
运维·云原生·开源·对象存储·分布式存储·s3·性能基准