gdb调试coredump文件
linux上程序崩溃起来挺烦人,不过linux 比较好的是有gdb.
1、生成coredump文件
echo "ulimit -c unlimited" >> /etc/profile
然后记得敲入命令
source /etc/profile
然后敲入命令:
ulimit –c
效果如下:

确认能否生成coredump文件,使用如下命令(使用时注意,我在测的时候会直接退出当前用户)
kill -s SIGSEGV $$
然后回到执行上述命令的路径下即可看到coredump文件,我这边生成的文件名为core.3477,依个人会随机生成不同的数字。
2、调试coredump文件
调试方式为: gdb program coredump文件
例如我的可执行文件为test, 生成的coredump文件为core.3533,则命令如下:
gdb test core.3533
显示如下图所示:

嗯,有的人运气好,直接就显示源代码了,如果你像我一样,接着用下面的命令
backtrace
打印堆栈信息。

我们看到最接近崩溃的地方在第8行
然后调用命令
frame 8
直接找到源代码的位置:

gdb调试coredump文件的更多相关文章
- gdb 调试coredump文件过程
		gdb 调试coredump文件过程: 第一步:首先需要一个进程的coredump文件,怎么搞出coredump文件呢? 1. ps -fax|grep 进程名称 找到 ... 
- gdb 调试coredump文件过程:
		第一步:首先需要一个进程的coredump文件,怎么搞出coredump文件呢? 1. ps -fax|grep 进程名称 找到进程的pid 2.gdb -p pid ... 
- 【转】使用GDB调试Coredump文件
		来自:http://blog.ddup.us/?p=176 写C/C++程序经常要直接和内存打交道,一不小心就会造成程序执行时产生Segment Fault而挂掉.一般这种情况都是因为数组越界访问,空 ... 
- gdb调试coredump(使用篇)
		gdb调试coredump(使用篇) 看到一个非常好的介绍coredump的文章,做个记录, 参考链接: https://blog.csdn.net/sunxiaopengsun/article/de ... 
- 使用GDB生成coredump文件【转载】
		本文转载自: http://blog.csdn.net/sky_qing/article/details/8548989 如果在测试过程中遇到某个进程的CPU利用率过高或者卡死而需要去调试该进程时,可 ... 
- GDB调试core文件(2)
		使用gdb和core dump迅速定位段错误 关键字:gdb.段错误.core dump 一.什么是core dump core:内存.核心的意思: dump:抛出,扔出: core dump:前提: ... 
- Linux下交叉编译gdb,gdbserver+gdb的使用以及通过gdb调试core文件
		交叉编译gdb和gdbserver 1.下载gdb:下载地址为:http://ftp.gnu.org/gnu/gdb/按照一般的想法,最新版本越好,因此下载7.2这个版本.当然,凡事无绝对.我们以gd ... 
- 解决gdb 调试 core 文件函数名显示为问号的问题
		关于gdb调试core文件总是一堆问号的问题 问题描写叙述:已经在编译选项中增加了-g,可是查看core文件时.还是一堆问号,使用的命令为:gdb -c core 解决方式:因为gdb -c core ... 
- GDB调试core文件(3)
		列出一些常见问题: 一,如何使用core文件 使用core文件 在core文件所在目录下键入: gdb -c core 它会启动GNU的调试器,来调试core文件,并且会显示生成此core文件的程序名 ... 
随机推荐
- 带你看懂大数据采集引擎之Flume&采集目录中的日志
			一.Flume的介绍: Flume由Cloudera公司开发,是一种提供高可用.高可靠.分布式海量日志采集.聚合和传输的系统,Flume支持在日志系统中定制各类数据发送方,用于采集数据:同时,flum ... 
- go语言之行--网络编程、http处理流程详情
			一.简介 go语言中的网络编程主要通过net包实现,net包提供了网络I/O接口,包括HTTP.TCP/IP.UDP.域名解析和Unix域socket等.和大多数语言一样go可以使用几行代码便可以启动 ... 
- 20155216 Exp5 MSF基础应用
			Exp5 MSF基础应用 基础问题回答 1.用自己的话解释什么是exploit,payload,encode? exploit : Exploit的英文意思就是利用,在做攻击时,通常称为漏洞利用. 一 ... 
- CLR回收非托管资源
			一.非托管资源 在<垃圾回收算法之引用计数算法>.<垃圾回收算法之引用跟踪算法>和<垃圾回收算法之引用跟踪算法>这3篇文章中,我们介绍了垃圾回收的一些基本概念和原理 ... 
- 异常 org.apache.ibatis.binding.BindingException: Invalid bound statement (not found) 解决方案
			原来是因为 AssetsMapper.xml 不知道为什么不见了,导致这个异常,在启动项目时的启动任务里调用到了它,然后因为没有这个xml,所以抛出异常 启动信息: C:\extend\Develop ... 
- vue JointJS 实例demo
			前言 越来越发现,前端深入好难哦!虐成渣渣了. 需求:前端绘制灵活的关系图(此demo还是简单的,我的需求才跨出一小步) 安装 npm install jointjs 容器,工具栏 <templ ... 
- 【ORACLE】oracle11g dg搭建
			--------------------------------每个节点和DG------------------------------------------------------------- ... 
- 杂谈---LZ的编程之路以及十点建议
			LZ本人是09年毕业的,在某二流本科院校学的非计算机专业,在兴趣的驱使之下,最终毅然决然的走上了编程这一条“不归路”. 说起LZ的经历虽不算是跌宕起伏,但也真正算是人生无常. 当初09年7月回到家里, ... 
- python3解析网页经过base64编码后的图片
			有时候我们打开网页看到的图片不是普通的url,例如:www.baidu.com/static/2.jpg,而是经过base64方式加密过的路径:例如:data:img/jpg;base64,/9j/4 ... 
- 并发系列(一)-----synchronized关键字
			一 简介 说到并发不得不提的synchronized,synchronized关键字是元老级别的角色.在Java SE 1.6之前synchronized被称为是重量,在1.6之后对同步进行了一系列的 ... 
