Chinaunix首页 | 论坛 | 博客
  • 博客访问: 104047
  • 博文数量: 30
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 402
  • 用 户 组: 普通用户
  • 注册时间: 2014-07-22 11:09
个人简介

摸着石头过河

文章分类

全部博文(30)

文章存档

2015年(2)

2014年(28)

我的朋友

分类: C/C++

2014-11-07 16:59:59

       做c的经常出现的一个错误就是段错误(core dumped),对于那种代码量不大、单线程的程序通过几个printf函数便可逐渐定位到段错误的地方,但是对于稍微复杂些的程序,尤其是多线程的程序就不好这么定位了。
      可以利用core文件来定位,首先core文件是进程崩溃时代码映像。默认情况下,段错误是不会产生core文件的,因为core文件的大小被默认设为0,使用命令ulimit -c 可以查看当前目录下core文件的大小。使用命令ulimit -c  1000将core文件大小设为1000B
也可以设为无限制 ulimit -c unlimited。然后gdb 可执行文件名 core文件名,例如gdb testcore core.6138 ,就会产生段错误的地方在哪了。
      
阅读(3075) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~