Linux-core文件

定义

核心文件(core file),是程序运行发生异常终止或崩溃时,操作系统对程序当时内存状态的记录文件。这种行为就叫做Core Dump(中文有的翻译成“核心转储”)。

作用

查看程序崩溃原因,发现bug,用于调试。

相关操作

  1. 查看core文件开关

    ulimit -a  # 如果 core file size 为 0 ,说明没有启用core file
    
  2. 设置core文件的大小

    ulimit -c <core文件大小>
    
  3. 设置core文件名称

    cat /proc/sys/kernel/core_uses_pid  # 查看core文件的文件名是否添加对应程序的PID作为扩展
    # 如果为0,生成的core文件名字就是 core
    # 如果为1,生成的core文件名字就是 core.xxxx , xxxx为对应程序的PID
    echo "1" > /proc/sys/kernel/core_uses_pid  # 修改core_uses_pid的值
    
    cat /proc/sys/kernel/core_pattern  # 查看core文件保存的位置和文件名格式
    echo "/corefile/core-%e-%p-%t" > core_pattern  # 更改core文件保存的位置和文件名格式
    # 将core文件统一生成到/corefile目录下,产生的文件名为core-命令名-pid-时间戳
    
    
  4. 使用core文件调试程序

    gdb -c core  # 查看生成core文件的程序名和终止此程序的信号等信息
    # 得知生成core文件的程序之后,先运行
    gdb -c core文件名 终止程序  
    # 或者
    gdb 终止程序 core文件名  
    # 再输入
    bt
    

参考文献

https://blog.csdn.net/weixin_42135997/article/details/80732658 Linux下core文件及使用

https://www.cnblogs.com/alantu2018/p/8468879.html Linux下的core dump

https://www.cnblogs.com/dongzhiquan/archive/2012/01/20/2328355.html Linux core 文件介绍

猜你喜欢

转载自blog.csdn.net/u013617791/article/details/106361008