【Linux问题处理】Aborted (core dumped)报错python

原文作者:我辈理想
版权声明:文章原创,转载时请务必加上原文超链接、作者信息和本声明。


首先需要在ubuntu系统安装gdb工具。

sudo apt-get install gdb

gdb是c的工具,常用命令如下:

where # 哪里出问题
bt # 查看栈信息
q # 退出gdb

如果安装了python-dbg,还可以使用以下命令:

py-bt # 查看栈信息
py-list
py-up  # 上一帧(py级别的帧)
py-down  # 下一帧(py级别的帧)
info thread   # 线程信息
thread <id>   # 切换到某个线程
thread apply all py-list  # 查看所有线程的py代码位置
ctrl-c  # 中断

一、命令检查

1.python执行py文件

python3 xxx.py

在这里插入图片描述

2.gdb执行py文件

gdb python3 
run xxx.py

在这里插入图片描述

二、进程检查

1.检查所有python程序

ps -x | grep python

在这里插入图片描述

2.使用gdb检查进程

sudo gdb -p 1199469

在这里插入图片描述
在这里插入图片描述

三、core文件检查

pwd  # 查看当前目录
#  结果:/home/ubuntu
echo /home/ubuntu/core.%p> /proc/sys/kernel/core_pattern # 调整core文件的位置和格式
gdb core-file core.id  # gdb查看core文件

1.开启core文件存储能力

core文件默认是不存储的,ulimit -c 可以改变当前连接,具备文件存储能力。

ulimit -a # 显示目前资源限制的设定
ulimit -c 1024 # 设定core文件的最大值,单位为区块

ulimit -a # 再次查看资源限制

在这里插入图片描述

2.core文件存储位置

core存储在文件/proc/sys/kernel/core_pattern中,可以直接读取

cat /proc/sys/kernel/core_pattern 

在这里插入图片描述
以下是参数列表:
%p - insert pid into filename 添加pid(进程id)
%u - insert current uid into filename 添加当前uid(用户id)
%g - insert current gid into filename 添加当前gid(用户组id)
%s - insert signal that caused the coredump into the filename 添加导致产生core的信号
%t - insert UNIX time that the coredump occurred into filename 添加core文件生成时的unix时间
%h - insert hostname where the coredump happened into filename 添加主机名
%e - insert coredumping executable name into filename 添加导致产生core的命令名

3.gbd查看core文件


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

我辈李想

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值