linux下core文件设置(转)-阿里云开发者社区

开发者社区> double2li> 正文

linux下core文件设置(转)

简介: 在程序不寻常退出时,内核会在当前工作目录下生成一个core文件(是一个内存映像,同时加上调试信息)。使用gdb来查看core文件,可以指示出导致程序出错的代码所在文件和行数。 1.core文件的生成开关和大小限制 1)使用ulimit -c命令可查看core文件的生成开关。
+关注继续查看

在程序不寻常退出时,内核会在当前工作目录下生成一个core文件(是一个内存映像,同时加上调试信息)。使用gdb来查看core文件,可以指示出导致程序出错的代码所在文件和行数。


1.core文件的生成开关和大小限制
 1)使用ulimit -c命令可查看core文件的生成开关。若结果为0,则表示关闭了此功能,不会生成core文件。
 2)使用ulimit -c filesize命令,可以限制core文件的大小(filesize的单位为kbyte)。若ulimit -c unlimited,则表示core文件的大小不受限制。如果生成的信息超过此大小,将会被裁剪,最终生成一个不完整的core文件。在调试此core文 件的时候,gdb会提示错误。

可以将ulimit -c unlimited写入到.bashrc中。


2.core文件的名称和生成路径
core文件生成路径:
输入可执行文件运行命令的同一路径下。
若系统生成的core文件不带其它任何扩展名称,则全部命名为core。新的core文件生成将覆盖原来的core文件。

1)/proc/sys/kernel/core_uses_pid可以控制core文件的文件名中是否添加pid作为扩展。文件内容为1,表示添加pid作为扩展名,生成的core文件格式为core.xxxx;为0则表示生成的core文件同一命名为core。
可通过以下命令修改此文件:
echo "1" > /proc/sys/kernel/core_uses_pid

2)proc/sys/kernel/core_pattern可以控制core文件保存位置和文件名格式。
可通过以下命令修改此文件:
echo "/corefile/core-%e-%p-%t" > core_pattern,可以将core文件统一生成到/corefile目录下,产生的文件名为core-命令名-pid-时间戳
以下是参数列表:
    %p - insert pid into filename 添加pid
    %u - insert current uid into filename 添加当前uid
    %g - insert current gid into filename 添加当前gid
    %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 添加命令名

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
大厂Java面试-分布式架构演进史(中)
大厂Java面试-分布式架构演进史(中)
3 0
MyCat教程【安装及配置介绍】
本文我们来介绍下MyCat的安装和相关的配置文件的介绍
5 0
分布式日志收集框架Flume下载安装与使用(四)
分布式日志收集框架Flume下载安装与使用(四)
4 0
消息队列技术选型
消息队列技术选型
4 0
使用体验
通过这段时间的学习,了解掌握到了基本的云服务器的使用方法,感谢阿里云的飞天加速计划·高校学生在家实践,让更多的需要学习的小伙伴学到了知识,我也会去推荐给我的朋友来一起学习。
5 0
一天1300 Star量,GitHub上新官方命令行工具
不想用命令行操作 GitHub 的开发者,不是好的开发者。——不是我说的
4 0
突破Java面试(31)-分布式系统连环炮
突破Java面试(31)-分布式系统连环炮
4 0
突破Java面试
突破Java面试
4 0
centOS7.0网络配置
因为最近要使用docker,所以打算在centOS7上操作,本文记录下centOS7上的网络配置的内容。首先需要安装好centOS7的虚拟机,我这安装的是 CentOS-7-x86_64-Minimal-1810.iso精简版的。
3 0
+关注
double2li
一个在IT行业摸爬滚打的老司机
2870
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
文娱运维技术
立即下载
《SaaS模式云原生数据仓库应用场景实践》
立即下载
《看见新力量:二》电子书
立即下载