coredump 断点_gdb结合coredump定位崩溃进程

如何产生core file?

我们可以使用ulimit这条命令对core file文件的大小进行设定。

一般默认情况下,core file的大小被设置为了0,这样系统就不dump出core file了。

这时用如下命令进行设置:

ulimit -c unlimited

这样便把core file的大小设置为了无限大,同时也可以使用数字来替代unlimited,对core file的上限值做更精确的设定。

生成的core file在哪里?

core file生成的地方是在/proc/sys/kernel/core_pattern文件定义的。

改动到生成到自己定义的目录的方法是:

echo "pattern" > /proc/sys/kernel/core_pattern

并且只有超级用户可以修改这两个文件。

"pattern"类似我们C语言打印字符串的格式,相关标识如下:

%%: 相当于%

%p: 相当于

%u: 相当于

%g: 相当于

%s: 相当于导致dump的信号的数字

%t: 相当于dump的时间

%h: 相当于hostname

%e: 相当于执行文件的名称

这时用如下命令设置生成的core file到系统/tmp目录下,并记录pid以及执行文件名

echo "/tmp/core-%e-%p" > /proc/sys/kernel/core_pattern

测试如下代码

生成可执行文件并运行

gcc -o main a.c

root@ubuntu:~# ./m

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值