Linux:Core dump文件配置及分析

一、core dump文件说明及作用

core dump(核心转储),一般是操作系统在进程收到某种信号而终止运行时,将进程地址空间的内容及有关进程状态的其它信息写出的一个磁盘文件。

        主要内容包含了程序内存中运行的堆栈信息,例如函数的调用情况等。

        主要作用用于调试,分析程序崩溃原因。


二、core dump文件配置生成

     Linux中 core dump文件生成一般处于关闭状态,可通过shell命令“ulimit  -a”查看具体情况,其中core file size表示core dump文件大小,当大小为0时,表示不生成

       可通过以下两种方法打开core dump文件生成:

      1)通过shell命令设置,让core dump文件大小不受限制(暂时):

         具体命令:“ulimit  -c   unlimited ”

        该方法只在输入该命令的终端中生效,其他环境中没有效果。可通过在命令终端中设置,然后再在该终端中运行程序,达到目的。

      2)通过修改配置文件,让core dump文件大小不受限制(永久):

修改 "/ect/security/limits.conf"文件,将soft core 以及 hard core的值改为 unlimited(或者足够大的值),如下:

##<domain>      <type>   <item>    <value>

##........其他账户配置

##root的配置

@root                  soft         core        unlimited

@root                  hard        core       unlimited

......

设置完成后需重启机器,所有环境下生效。


三、core dump文件分析

      Linux平台常用的coredump文件分析工具是gdbWindows平台用userdump和windbg。

     这里以Linux平台为例,查看程序崩溃时堆栈调用信息命令为:gdb  执行程序路径  coredump文件路径,如gdb  ./test  core.2324

     (如果不知道执行程序路径,可直接输入gdb coredump文件路径,终端中会提示缺少的执行程序名称)

      

     获取崩溃处堆栈信息后,可通过“bt”命令,查看具体的库及函数调用

      


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值