Posted on 2013-12-06 10:26
Milo的海域 閱讀(1000)
評(píng)論(0) 編輯 收藏 所屬分類:
Java 、
C
Java程序的memory leak分析也可以用valgrind, 尤其是JNI程序尤其有用:
valgrind --error-limit=no --trace-children=yes --smc-check=all --leak-check=full JAVA_CMD
特意寫了個(gè)有l(wèi)eak的jni函數(shù),用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選項(xiàng)后可能出現(xiàn)錯(cuò)誤:
Error occurred during initialization of VM
Unknown x64 processor: SSE2 not supported
升級(jí)到最新版可以解決這個(gè)問題,升級(jí)方法:下載src包 解壓后執(zhí)行 ./configure; make; make install