posts - 88, comments - 3, trackbacks - 0, articles - 0
  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理

valgrind memory check on java program

Posted on 2013-12-06 10:26 Milo的海域 阅读(988) 评论(0)  编辑  收藏 所属分类: JavaC
Java程序的memory leak分析也可以用valgrind, 尤其是JNI程序尤其有用:
valgrind --error-limit=no --trace-children=yes --smc-check=all --leak-check=full JAVA_CMD

特意写了个有leak的jni函数,用valgrind成功检查出来了
==31915== 100 bytes in 1 blocks are definitely lost in loss record 447 of 653
==31915==    at 0x402CE68: malloc (in /usr/lib/valgrind/vgpreload_memcheck-x86-linux.so)
==31915==    by 0x60424F9: Java_MyJNI_hello (MyJNI.c:16)

在老版本valgrind(3.5.0) enable了--trace-children选项后可能出现错误:
 Error occurred during initialization of VM    
Unknown x64 processor: SSE2 not supported

升级到最新版可以解决这个问题,升级方法:下载src包 解压后执行 ./configure; make; make install

只有注册用户登录后才能发表评论。


网站导航: