您的位置:首页 > 运维架构 > Linux

Linux:Core dump文件配置及分析

2017-11-01 23:03 337 查看
一、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文件分析工具是gdb,Windows平台用userdump和windbg。

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

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

      


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

      
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  linux coredump