Chinaunix首页 | 论坛 | 博客
  • 博客访问: 4140283
  • 博文数量: 447
  • 博客积分: 1241
  • 博客等级: 中尉
  • 技术积分: 5786
  • 用 户 组: 普通用户
  • 注册时间: 2011-01-27 06:48
个人简介

读好书,交益友

文章分类

全部博文(447)

文章存档

2023年(6)

2022年(29)

2021年(49)

2020年(16)

2019年(15)

2018年(23)

2017年(67)

2016年(42)

2015年(51)

2014年(57)

2013年(52)

2012年(35)

2011年(5)

分类: C/C++

2014-06-12 12:10:45

Efence(Electric Fence)可以在debug阶段帮我们最大程度的发现这种问题,并精确定位问题的所在。
测试代码

点击(此处)折叠或打开

  1. #include <stdio.h>
  2. #include <malloc.h>
  3. int main(void)
  4. {
  5.     int *a = (int*)malloc(2*sizeof(int));
  6.   
  7.     for (int i=0;i<=2;i++) {
  8.         a[i] = i;
  9.         printf("%d\n", a[i]);
  10.     }
  11.   
  12.     free(a);
  13.     return 0;
  14. }
先不用efence
编译  gcc -g3 -Wall -o test test.c   -std=c99
运行结果
0
1
2

使用efence
gcc -g3 -Wall -o test test.c -lefence -lpthread    
efence库依赖于pthread库
运行结果
 Electric Fence 2.2.2 Copyright (C) 1987-1999 Bruce Perens
0
1
Segmentation fault (core dumped)

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