转载自:https://blog.csdn.net/weixin_42987033/article/details/81746074

执行文件编译时加入-g 命令

例如 g++ -g test.cpp

查看当前系统限制情况

ulimit -a

设置crash dump 文件大小

ulimit -c unlimited 
unlimited表示无大小限制,也可以指定具体的大小 
ulimit -c 1000 
表示文件大小限制为1000Kb 
若要全局生效需要在/etc/profile中加入上面的命令ulimit -c 1000,然后source /etc/profile使之生效

配置dump文件生成路径

/proc/sys/kernel/core_uses_pid 
文件内容为1表示dump文件以pid为扩展名 
/proc/sys/kernel/core_pattern 
core_pattern接受的是core文件名称的pattern,它包含任何字符串,并且用%作为转移符号生成一些标示符,为core文件名称加入特殊含义。已定义的标示符有如下这些: 
%%:相当于% 
%p:相当于pid 
%u:相当于uid 
%g:相当于gid 
%s:相当于导致dump的信号的数字 
%t:相当于dump的时间 
%e:相当于执行文件的名称 
%h:相当于hostname 
除以上这些标志位外,还规定: 
1、末尾的单个%可以直接去除; 
2、%加上除上述以外的任何字符,%和该字符都会被去除; 
3、所有其他字符都作为一般字符加入名称中; 
4、core文件的名称最大值为64个字节(包括’\0’); 
5、core_pattern中默认的pattern为core; 
6、为了保持兼容性,通过设置core_uses_pid,可以在core文件的末尾加上%p; 
7、pattern中可以包含路径信息。 
echo “/corefile/core-%e-%p-%t” > /proc/sys/kernel/core_pattern 
将会控制所产生的core文件会存放到/corefile目录下(/corefile目录需要提前创建),产生的文件名为core-执行文件名-pid-时间戳

在发生SIGSEGV时系统会自动在程序目录下生成core.xxxx文件,此即dump文件; 
注意,此时程序不能再注册SIGSEGV的处理函数! 
使用gdb分析dump文件: 
1.执行gdb:gdb –core=core.xxxx 
2.在gdb中加载符号文件:file ./a.out 
上两步也可以统一成:gdb a.out core.xxxx 
3.定位到出错代码:where或backtrace,将显示#x这样的堆栈信息 
4.查看更详细的函数调用信息:frame x,x为#后的数字

记录linux 生成crash dump文件步骤相关推荐

  1. Linux crash dump文件生成与使用

    转载自:https://blog.csdn.net/keep_moving_gogogo/article/details/44196957 不像Windows程序需手动调用相关函数,Linux程序cr ...

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

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

  3. dotnet core调试docker下生成的dump文件

    最近公司预生产环境.net core应用的docker容器经常出现内存暴涨现象,有时会突然吃掉几个G,触发监控预警,造成容器重启. 分析了各种可能原因,修复了可能发生的内存泄露,经测试本地正常,但是发 ...

  4. [Android]生成heap dump文件(.hprof)

    Android生成heap dump文件(.hprof) 一个heap dump就是一个程序heap的快照,能够获知程序的哪些部分正在使用大部分的内存. 它保存为一种叫做HPROF的二进制格式.对于A ...

  5. 编写的windows程序,崩溃时产生crash dump文件的办法

    一.引言 dump文件是C++程序发生异常时,保存当时程序运行状态的文件,是调试异常程序重要的方法,所以程序崩溃时,除了日志文件,dump文件便成了我们查找错误的最后一根救命的稻草.windows程序 ...

  6. Windows Error Reporting保存Crash Dump文件

    1.Crash Dump文件 Crash Dump(后缀名为:.dmp)文件是进程的内存镜像,可以把程序运行时的状态完整的保存下来,是调试异常程序重要的方法,所以程序崩溃时,除了日志文件,dump文件 ...

  7. 实例讲解:使用IBM heapAnalyzer分析heap dump文件步骤

    需求动机:解决 OOM( Object Out of Memory)问题以及系统调优 1.            如何产生 java heap dump 当 JVM中对象过多, java堆( java ...

  8. Linux Kernel Crash Dump note

    how to use crash utility to analyze vmcore files. 内核调试方法 使用crash工具查看定位linux内核崩溃原因: [root@mi_cct vmco ...

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

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

最新文章

  1. 【LaTeX】E喵的LaTeX新手入门教程(3)数学公式
  2. android toast几种使用方法 (转)
  3. 【数据库】数据库常见操作指令
  4. 页面传值:属性,协议,Block传值
  5. Java需要掌握的底层知识_java程序员需要知道的底层知识(一)
  6. 2018蓝桥杯省赛---java---C---9(小朋友崇拜圈)
  7. 在Elasticsearch中索引Java Bean的简单方法
  8. 浅谈servlet与jsp的关系
  9. 天猫整站SSM-分页-总结(做个人学习笔记整理用)
  10. ros(6) service server编程实现
  11. 又一款程序员摸鱼神器来了?上班也可以在VSCode看股票 基金实时数据
  12. 多个kinect标定,颜色和深度的标定
  13. 【转载】阿里数据技术大图详解
  14. VB中关于CommonDialog通用对话框的使用
  15. 三维空间的位姿描述和齐次变换
  16. 计算机桌面可装在其它盘吗,教大家如何把桌面保存到C盘以外的其他盘里,让电脑飞速转起来...
  17. 案例分享 | 数智化升级:红蜻蜓的转型之路(下)
  18. 计算机没有打字键盘显示不出来,键盘打不出字怎么回事
  19. THREEJS 模型调整旋转中心
  20. 致自己:CSS学习笔记三

热门文章

  1. 1693. 每天的领导和合伙人
  2. cannot open tolua.lua: No such file or directory
  3. 软件测试项目实战之性能测试篇,软件测试项目实战之性能测试篇
  4. Vue+TypeScript+Antd+Stylus+Flexible+阿里普惠体
  5. java毕设项目个人财务管理系统(附源码)
  6. 我在MIT人工智能研究实验室工作一年学到的 5 件事
  7. [并发编程专题]多线程
  8. 学生托管班_怎么管理托管班的小学生?
  9. 个人网络兼职打码有前途吗
  10. 英文已如此搞笑,翻译却更加残暴。(转载)