Valgrind与共享库jni

时间:2012-10-10 10:30:14

标签: java android linux java-native-interface valgrind

我有一个共享库,Java平台将通过JNI调用它。是否可以使用Valgrnid检查solib中的内存泄漏?

我试过

valgrind java -cp bin:libs/junit/junit.jar org.junit.runner.JUnitCore com.test.app

==7902== Memcheck, a memory error detector
==7902== Copyright (C) 2002-2012, and GNU GPL'd, by Julian Seward et al.
==7902== Using Valgrind-3.8.0 and LibVEX; rerun with -h for copyright info
==7902== Command: java -cp bin:libs/junit/junit.jar org.junit.runner.JUnitCore com.test.FnTestNPVRRemoteBooking
==7902==
JUnit version 4.11-SNAPSHOT-20120805-1225
.
.
.
.
.
end

Valgrind运行但不会打印任何结果,可能是因为它不适合运行java应用程序,但最终的解决方法是什么?

一般来说,只有在solibs上检查内存泄漏的解决方案吗?

是否可以将Valgrind挂钩到PID(Linux平台)? (我知道可以挂钩GDB) 如果是,它将有助于我的场景,因为App PID将是一个Java应用程序。

PS - 我的应用程序并不意味着在Android上运行,但可能是android开发人员都知道解决方案,所以添加android标签。

0 个答案:

没有答案