kali读入png文件时发生严重错误_Docker中产生Core Dump文件

产生Core Dump 在Linux中

要使得程序崩溃时产生core dump文件,首先需要设置core文件的大小,默认的core dump文大小最大为0,也就是默认不产生,在这里我们就不做限制,执行

ulimit -c unlimited

可以通过以下命令查看当前ulimit配置

[root@proxy-demo ~

当 core file size 为unlimited时,程序崩溃就会产生core文件,顺便整理一下ulimit文件使用方法:

e5cb7ac0cfba2b4f0fdd39b79e855400.png

在程序中指定产生Core Dump文件

在写程序的时候,我们可能会希望在一些严重错误发生的时候终止程序运行。除了打日志和 exit() 以外,我们还可以选择使用 abort()。当执行 abort() 的时候,程序直接退出,不执行清扫,并且会产生 Core Dump 文件(如果 ulimit 允许的话)。

在Docker中产生Core Dump文件

在宿主机上执行

echo 

这是因为系统在产生 Core Dump 文件的时候是根据 /proc/sys/kernel/core_pattern 的设定。而默认的设定是 |/usr/share/apport/apport %p %s %c %P,也就是用管道传给 apport。然而 Docker 里面的系统不一定有装 apport,并且 /proc 又是直接挂到 Docker 里面的,所以我们就得改成放到固定的位置去,也就是 /tmp。

另外,在 docker run 的时候要加上以下参数

core

前者就是把 Core Dump 文件的大小设置为无限制,后者是为了开放 ptrace 系列高权限的系统调用,这样我们才可以在 Docker 里面使用 GDB。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值