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)

相关推荐
羑悻的小杀马特2 小时前
把随身WiFi改成网盘聚合器:中兴F50挂载本地存储+夸克网盘实战
运维·服务器·人工智能·网盘·openlist
无人生还别怕3 小时前
如何制作一个linux标准iso镜像
linux·iso·opencloudos·openanolisos
Yana.nice10 小时前
Linux 只保留 30 天内日志(find命令删除日志文件)
linux·运维·chrome
2601_9605679613 小时前
电商套图自动化效率的工程量化分析——从逐张生成到批量套图的架构演进
运维·架构·自动化
吳所畏惧14 小时前
宝塔面板Redis密码修改指南:SSH命令修改 vs 面板UI界面修改,哪个更靠谱?
运维·服务器·数据库·redis·缓存·ssh
DFT计算杂谈14 小时前
无 Root 权限在 Tesla K80 零门槛部署 DeepSeek 大模型
linux·服务器·网络·数据库·机器学习
HiDev_14 小时前
【非标自动化】2、认识元器件(确定目标)
运维·自动化
Zhang~Ling15 小时前
从 fopen 到 struct file:从零开始拆解 Linux 文件 I/O
linux·运维·服务器
DeeplyMind15 小时前
Linux 深入 per-VMA lock:Linux 缺页路径如何摆脱 mmap_lock
linux·per-vma lock
爱写代码的森15 小时前
蒙三方库 | harmony-utils之FileUtil文件重命名与属性查询详解
linux·运维·服务器·华为·harmonyos·鸿蒙·huawei