Linux生成core文件相关配置,core文件调试示例

1、生成core文件系统配置

使用ulimit -c命令可以查看当前系统对于core文件的配置,0表示不生成core文件;不为0的数字a表示限制core文件大小不超过a,单位是k;unlimited则表示不限制core文件大小。

 
  1. ulimit -c // 查看当前系统设置

  2. ulimit -c 4096 // 修改系统设置,限制core文件大小不超过4096kb

  3. ulimit -c unlimited // 修改系统设置,不限制core文件大小

测试虚拟机的配置为限制core文件不超过1024kb:

 2、core文件生成路径配置

使用sysctl命令或者查看配置文件均可获取当前系统core文件生成路径:

 
  1. 方法一:sysctl kernel.core_pattern

  2. 方法二:cat /proc/sys/kernel/core_pattern

修改core文件路径的办法:

(1)执行 sysctl kernel.core_pattern=core路径 命令进行修改,重启后失效

(2)在/etc/sysctl.conf中添加kernel.core_pattern=core路径;然后执行sysctl -p加载

core名称本身可以附加以下信息:

%p 产生core文件进程ID
%g产生core文件实际组ID
%s产生core文件信号
%t产生core文件时间戳
%h产生core文件主机名
%e产生core文 程序文件名
%u产生core文件实际用户ID

下面使用临时修改的方式修改core文件默认路径,并添加core文件的时间信息:

3、代码测试

将以下代码保存为coretest.c:

 
  1. #include <stdio.h>

  2. #include <stdlib.h>

  3. #include <unistd.h>

  4. int main()

  5. {

  6. char *p = NULL;

  7. *p = 1;

  8. }

执行gcc -g coretest.c -o main命令生成可执行程序,直接执行./main运行可执行程序:

4、core文件调试 

使用gdb命令选择core文件和源程序进行调试,可以定位到程序出错的位置:

(1665条消息) Linux生成core文件相关配置,core文件调试示例_我系真滴菜的博客-CSDN博客

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值