GDB调试器(coredump设置查看)

 

 linux下调试程序的神器

转储功能(core dump)

(1).开启转储功能

ulimit -c //查看是否开启转储功能,返回不是0则已经开启,否则就是未开启。

ulimit -c unlimited //开启转储功能。

ulimit -c 1024 //设定转储文件的大小。

(2).设定转储文件生成地址

编辑/etc/sysctl.conf文件

kernel.core_pattern = /var/core/%t-%e-%p.core

kernel.core_uses_pid = 1

文件保存,执行 sysctl -p命令(需root权限)。注:此时执行一个会宕机的程序,会在/var/core/文件夹下面生成转储文件(如:1432378356-a.out-4821.core)。

core_pattern设定的就是文件保存目录和文件的名字格式。其中%t是转储时的unix时间戳,%e是当前执行的文件名,%p是crash进程的PID。

格式符号

%p 被转储进程的进程ID(PID)

%u 被转储进程的真是用户ID(UID)

%g 被转储进程的真是组(GID)

%s 引发转储的信号编号

%t 转储时间,unix时间戳(从1970年1月1日0时开始的秒数)

%h 主机名

%e 可执行文件的名称

%c 转储文件的大小上限(内核版本2.6.24+可用)

 

(3).转储文件的压缩

解决core文件过大问题,可在/etc/sysctl.conf文件的core_pattern中加入压缩脚本以及管道命令,可以对生成的转储文件进行压缩。在/etc/sysc

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值