采用valgrind来分析内存泄漏 和trace 函数调用

valgrind工具在linux下分析内存泄漏很方便。

例如

valgrind --log-file=valReport --leak-check=full --show-reachable=yes --leak-resolution=low  --num-callers=20 ./sample

在valReport中,可以看到 direct 错误和 indirect错误,对于后者一般不用管它,对于前者一定要查清楚,它是真正泄漏的地方。

 

 

另外在代码trace过程中,如果很大的工程,我发现用这个工具去定位函数调用还是很方便的。

因为在linux下,用eclipse或者GDB也可以debug去定位。但是不够高效快捷。

而借助于valgrind,比如某个函数,你在函数里面插一个打印,然后申请一块buffer,但是不释放。

这样你调用上面的命令后,在报告中可以通过内存泄漏功能,明显看出这个函数的调用关系。

从而很快找到它。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值