[linux] coredump相关知识点

开/关coredump文件生成:

ulimit -a  罗列系统的所有限制
ulimit -c  罗列当前core文件的尺寸限制
ulimit -c unlimit  不限制core文件的大小(开启)
ulimit -c 0  限制core文件大小为0(关闭)

 

设置coredump文件参数:

查询core dump文件路径:
方法1:
# cat /proc/sys/kernel/core_pattern
方法2:
# /sbin/sysctl kernel.core_pattern

修改core dump文件路径:
方法1:临时修改:修改/proc/sys/kernel/core_pattern文件,但/proc目录本身是动态加载的,每次系统重启都会重新加载,因此这种方法只能作为临时修改。
/proc/sys/kernel/core_pattern
例:echo ‘/var/log/%e.core.%p’ > /proc/sys/kernel/core_pattern
方法2:永久修改:使用sysctl -w name=value命令
例:/sbin/sysctl -w kernel.core_pattern=/var/log/%e.core.%p

为了更详尽的记录core dump当时的系统状态,可通过以下参数来丰富core文件的命名:
%% 单个%字符
%p 所dump进程的进程ID
%u 所dump进程的实际用户ID
%g 所dump进程的实际组ID
%s 导致本次core dump的信号
%t core dump的时间 (由1970年1月1日计起的秒数)
%h 主机名
%e 程序文件名

 

其他:

使用:

gdb ./1 core.xxxx    //运行后,会自动停在出问题的位置


查看某个命令属于那个包:

yum whatprovides /usr/bin/ps 

 

debuginfo.rpm包的使用:

1)下载相应的rpm包,wget
2)安装rpm包,rpm -ivh,此时所有的debug信息已经解压到系统中了
3)使用,gdb ps core.xxx 
4) 如果提示找不到debug,那么需要用set home dir(类似的,具体不清楚)来指定debuginfo解压到的目录


core文件的性质:
是出问题点环境的快照,使用gdb来调用此文件并不需要任何环境,只需要有执行程序和相应的debug信息就行了。
因此“可执行程序要和问题环境一样”  且  “debuginfo要和问题环境一样”

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值