1、查看当前系统是否生成core dump文件

ulimit -c

0:表示当前不生成core dump文件

大于0的数:表示当前生成的core dump文件大小限制在该值以内,单位是Kb。

unlimited:core dump 文件的大小不受限制。

要设置是否生成core dump文件以及大小限制,就是在ulimit -c 后面加上要设置的值或unlimited,比如:

ulimit -c 0
ulimit -c 1024
ulimit -c unlimited

用ulimit命令设置的值是临时性的,如果要永久生效,可以在 /etc/security/limits.conf 文件里修改

在文件中修改后需要重新登录账号才会生效。

2、设置core dump文件的存储位置以及命名规则

该设置存储在 /proc/sys/kernel/core_pattern 文件中

上面截图中的配置表示core dump 文件存储在/data/core目录下,命名为core_<启动命令>_<进程pid>,一些可用的命名参数如下:

%p : insert pid into filename 添加pid
%u :insert current uid into filename 添加当前uid
%g : insert current gid into filename 添加当前gid
%s : insert signal that caused the coredump into the filename 添加导致产生core的信号
%t  : insert UNIX time that the coredump occurred into filename 添加core文件生成时的unix时间
%h : insert hostname where the coredump happened into filename 添加主机名
%e : insert coredumping executable name into filename 添加命令名

3、测试core dump

测试使用一段简单的C代码,试图修改字符串常量中的字符,从而触发段错误

#include <stdio.h>
#include <sys/types.h>
#include <unistd.h>int main(int argc, char *argv[])
{int pid = getpid();printf("pid = %d\n", pid);int i = 0;i++;char *str = "hello world";// trigger a segmentation faultstr[0] = 'H';return 0;
}

编译运行:

可以看到 /data/core 目录下生成了一个名为core_a.out_975的core dump 文件。

4、定位触发core dump的代码位置

gdb [options] [executable-file [core-file or process-id]]

例如:

编译时需要加上 -g 参数。

Linux core dump文件设置以及查看相关推荐

  1. linux 生成dump文件

    from https://blog.csdn.net/weixin_39249306/article/details/94554782 core dump文件 core dump 又叫核心转储,是一个 ...

  2. linux打开core文件,[转载]linux下core文件设置与查看

    程序异常推出时,内核会生成一个core文件(是内存映像以及调试信息).可以通过使用gdb来查看core文件,指示出导致程序出错的代码所在的文件和行数. 1.查看系统中core文件生成的开关是否打开 1 ...

  3. Linux上Core Dump文件的形成和分析

    Core,又称之为Core Dump文件,是Unix/Linux操作系统的一种机制,对于线上服务而言,Core令人闻之色变,因为出Core的过程意味着服务暂时不能正常响应,需要恢复,并且随着吐Core ...

  4. linux dump core 文件位置,Linux core dump使用

    什么是 core dump? core dump是一个当进程意外终止时包含进程内存内容的文件.当程序崩溃的时候,core dump由kernel触发.core dump能够做为程序崩溃时的过后快照(p ...

  5. Linux下如何生成core dump 文件(解决segment fault段错误的问题)

    Linux下如何生成core dump 文件(解决segment fault段错误的问题) 参考文章: (1)Linux下如何生成core dump 文件(解决segment fault段错误的问题) ...

  6. linux dump 文件位置,查询和修改Linux操作系统生成core dump文件的路径

    1.core文件的生成开关和大小限制 (1)使用ulimit -c命令可查看core文件的生成开关.若结果为0,则表示关闭了此功能,不会生成core文件. (2)使用ulimit -c filesiz ...

  7. linux 下dump文件放在那里,怎么查看dump文件目录

    转载自:http://zhidao.baidu.com/link?url=-ycN_irmu_J1dlRWG_06DhvIWSasIEDqDWgNYgjZSwY-LU3KQyXjWom5LzQeYnF ...

  8. Linux Core Dump

     1. 前言: 有的程序可以通过编译, 但在运行时会出现Segment fault(段错误). 这通常都是指针错误引起的. 但这不像编译错误一样会提示到文件->行, 而是没有任何信息, 使得我们 ...

  9. core dump文件

    core dump文件 core dump 又叫核心转储,是一个程序运行时的环境一个集合包,包含崩溃时的堆栈信息,是一个二进制文件,没法使用记事本打开,通常会在指定目录下生成一个core文件.core ...

最新文章

  1. ACM SIGKDD | MoFlow:基于流的分子图生成模型
  2. 用计算机怎么开启音乐模式,XP开机音乐怎么设置?如何设置电脑开机音乐?
  3. MATLAB-矩阵相关计算(1)
  4. VTK:Filtering之ConnectivityFilterDemo
  5. Windows Phone(三)WP7版 记账本 开发(使用SQLite数据库)
  6. win10计算器rsh_Win10 内置计算器评测:PowerShell 很靠谱
  7. rabbitmq异步_在Node.js中使用RabbitMQ和Tortoise进行异步消息传递
  8. 向量机和感知机的相同和不同点_感知机(perceptron)和支持向量机(svm)是一种东西吗? 如果不是那他们的区别和关系是什么?...
  9. 地形瓦片地图TiledMap AutoTiles自动图块
  10. 数商云SCM供应链管理系统:辅助传统行业SCM系统管理数字化转型、智能化决策
  11. DiskGenius屏蔽硬盘坏道方法
  12. Android基础Activity篇——创建一个活动(Activity)
  13. 【lizhi125】分区助手:分区魔术师的终结者/无损分区魔术师!(免费中文完美支持Win7/32与64位系统)
  14. b3log-solo 部署到GAE上
  15. 计算机在表格if用法,如何在Excel中使用sumif函数
  16. 牛客练习赛107 A~D除C
  17. python中xlrd模块_Python中的xlrd模块使用原理解析
  18. 强网杯2022 pwn 赛题解析——yakacmp
  19. 【论文阅读ACL2020】Leveraging Graph to Improve Abstractive Multi-Document Summarization
  20. linux操作系统上网本下载,Veket-上网本操作系统

热门文章

  1. 黎曼与陈景润,同为素数而生,留名千古
  2. springboot+mysql学生个性的宿舍分配管理系统-计算机毕业设计源码01236
  3. java fx详解_Java fx 坐标揭秘
  4. Redis集群监控方法
  5. CDLinux 系统 破解WIFI密码 U盘 的制作(网卡:博通BCM4313)
  6. java 内存管理_Java的内存管理机制
  7. Active Directory 证书服务(一)
  8. centos手动安装dotnet-sdk环境和dotnet调试工具
  9. HTTPS请求 Received fatal alert: handshake_failure异常---与众不同的原因
  10. C# 生成Word文档