coredump故障分析
2016-06-05 14:22
323 查看
如果一个程序运行3天后才会出错,这个时候
难道需要我们一直用GDB调试程序3天吗?
这个时候我们就需要使用到core dump:
1、Core Dump又叫核心转存。当程序在运行过程中发生异常, 这时Linux系统可以把程序出错时的内存内容存储在一个core文件
中, 这种过程叫Core Dump.
2、那么Core dump用来对付什么样的错误呢?主要是段错误(segment fault)...
一般的表现是:a.数组访问越界 b.访问空指针 c.栈溢出 d.修改只读内存
3.在linux系统中,默认是关闭core dump功能的,但是可以通过ulimit命令打开/关闭
打开:ulimit -c unlimited
关闭:ulimit -c 0
4.发生core dump之后,可以使用gdb进行查看core文件的内容,定位出程序出错的位置
用法:gdb 程序名 core文件名
gdb ./test core.122223
5、完整范例:
gdb -c core.id 程序名
输入:where 。可以知道由谁调用,哪行被down了在哪个函数里。
或者输入bt
难道需要我们一直用GDB调试程序3天吗?
这个时候我们就需要使用到core dump:
1、Core Dump又叫核心转存。当程序在运行过程中发生异常, 这时Linux系统可以把程序出错时的内存内容存储在一个core文件
中, 这种过程叫Core Dump.
2、那么Core dump用来对付什么样的错误呢?主要是段错误(segment fault)...
一般的表现是:a.数组访问越界 b.访问空指针 c.栈溢出 d.修改只读内存
3.在linux系统中,默认是关闭core dump功能的,但是可以通过ulimit命令打开/关闭
打开:ulimit -c unlimited
关闭:ulimit -c 0
4.发生core dump之后,可以使用gdb进行查看core文件的内容,定位出程序出错的位置
用法:gdb 程序名 core文件名
gdb ./test core.122223
5、完整范例:
gdb -c core.id 程序名
输入:where 。可以知道由谁调用,哪行被down了在哪个函数里。
或者输入bt
相关文章推荐
- 洪小文博士写给你的新年书单
- Java接口与多态
- 231. Power of Two && 342. Power of Four && 326. Power of Three
- BZOJ 1002: [FJOI2007]轮状病毒
- java.util.Date 和 java.sql.Date 的精确保存问题
- JDBC连接数据库之批量处理(4)
- QT 计算器小程序
- HOW TO: 编写在 Windows XP 中支持快速用户切换的应用程序
- 10041---打印流,数据流
- 工业界 vs. 学术界: 一个年轻员工的视角
- leetcode 5 Longest Palindromic Substring
- Android 模拟MotionEvent事件 触发输入法
- Laravel系列之windows环境安装配置(一)
- cocos2dx游戏--欢欢英雄传说--添加攻击按钮
- Hibernate的几种查询方式 HQL,QBC,QBE,离线查询,复合查询,分页查询
- Android项目重构之路:界面篇
- Nginx源码安装
- Java 集合中List和ArrayList的区别
- 机器学习面试题总结
- ImageView以淡入淡出的方式切换显示的图片