valgrind

1.进入valgrind目录并编译

原来在makefile中完成的东西,已经被Google完全移植到了Android.mk中。

cd external/valgrind

mm

2.将编译生成的文件放到开发板,并修改权限

adb pushout\target\product\k3v2oem1\system\bin\valgrind /system/bin/

adb pushout\target\product\k3v2oem1\system\lib\valgrind /data/valgrind

chmod 777 /system/bin/valgrind

chmod -R 777 /data/valgrind

3.在adb shell中配置环境变量,并通过valgrind启动目标程序

export VALGRIND_LIB=/data/valgrind

valgrind --tool=memcheck --leak-check=full--show-reachable=yes --undef-value-errors=no -v /system/bin/mediaserver1

在valgrind的新版本中,附带了gdbserver的功能,可以在valgrind中调试程序。

4.在程序退出(通过调用exit、kill等方式)后,valgrind会将分析的结果和堆栈打印出来。如果包含调试信息,valgrind可以将堆栈对应的行号打印出来。

==3857== LEAKSUMMARY:

==3857==    definitely lost: 27,357 bytes in 37 blocks

==3857==    indirectly lost: 13,654 bytes in 63 blocks

==3857==      possibly lost: 8,000 bytes in 115 blocks

==3857==    still reachable: 91,644 bytes in 220 blocks

==3857==         suppressed: 0 bytes in 0 blocks

valgrind手册中对内存泄漏的描述,一般查看definitely lost的地方

5.valgrind手册

http://www.valgrind.org/docs/manual/index.html


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值