Chinaunix首页 | 论坛 | 博客
  • 博客访问: 577097
  • 博文数量: 353
  • 博客积分: 1104
  • 博客等级: 少尉
  • 技术积分: 1457
  • 用 户 组: 普通用户
  • 注册时间: 2008-12-23 23:02
个人简介

1、刚工作时做Linux 流控;后来做安全操作系统;再后来做操作系统加固;现在做TCP 加速。唉!没离开过类Unix!!!但是水平有限。。

文章存档

2015年(80)

2013年(4)

2012年(90)

2011年(177)

2010年(1)

2009年(1)

分类:

2012-04-17 14:23:50

1.查看当前linux是否打开core,方法是执行命令
ulimit -a
一般会出现如下的结果
core file size        (blocks, -c) 0
0表示当前core被关闭
 
2.执行命令取消core限制
ulimit -c unlimited
3.重新查看,core是否已经打开
ulimit -a
一般会出现如下的结果
core file size        (blocks, -c) unlimited
命令结果里面core所在行的最后一个unlimited表示core已经无限制了
 
4.直接运行出现段错误的程序(如test),待程序异常退出后,当前目录下会生成一个core.xxxx的文件,其中xxxx一般为数字。
 
5.使用gdb查看出错时的堆栈,方法是:
gdb test core.xxxx
 
6.最后在gdb里面敲击命令bt即可看出产生段错误时的堆栈情况
如:
#15 0x080535d0 in proSNMPhost (arg=0x0) at discover.c:1508
7.通过分析堆栈,最终确定错误的位置

阅读(312) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~