我有一个共享库,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标签。