Chinaunix首页 | 论坛 | 博客
  • 博客访问: 125457
  • 博文数量: 24
  • 博客积分: 1516
  • 博客等级: 上尉
  • 技术积分: 255
  • 用 户 组: 普通用户
  • 注册时间: 2008-12-22 17:11
文章分类
文章存档

2011年(4)

2010年(10)

2009年(10)

分类: LINUX

2011-03-31 15:50:08

由于程序潜在一些bug, 在运行时常常会出现无故崩掉的情况,通过跟踪其产生的core文件,排查故障是个不错的选择。

产生core文件的条件:1.在编译时,gcc/g++ 需要添加一个-g参数
2.程序运行所在主机,需要这是climit -c 为非0
即:在终端执行 climit -a, 查看 core文件的限制大小,若为0,则无法产生core文件。
操作方法:climit -c unlimited, 也可以采用 climit -c N, (N为具体数值,单位为kB)


当程序遇到不可知异常退出时,默认在程序运行目录下会产生一个core.xxx xxx为该程序的进程号。
执行一下命令,gdb bin_name core.xxx (bin_name为程序名,若与执行名字不在同一目录, 需加具体路径)
然后 执行bt, 就可以看到详细信息了
阅读(2165) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~