有个工具可以用来查找内存泄漏,叫Electric Fence
可以到ftp://metalab.unc.edu/pub/linux/devel/lang/c下载
1.解压后执行make insstall安装,在/usr/lib下生成一个静态库libefence.a
2.把要调试的程序和库libefence.a链接,例如:
gcc -g badmem.c -o badmem -lefence
libefence.a会用它自己的内存分配函数替代你自己程序中的molloc等内存分配
函数.
3.运行程序./badmem程序中段,表明出现内存问题
可以到ftp://metalab.unc.edu/pub/linux/devel/lang/c下载
1.解压后执行make insstall安装,在/usr/lib下生成一个静态库libefence.a
2.把要调试的程序和库libefence.a链接,例如:
gcc -g badmem.c -o badmem -lefence
libefence.a会用它自己的内存分配函数替代你自己程序中的molloc等内存分配
函数.
3.运行程序./badmem程序中段,表明出现内存问题