3

JNI を介して Java プラットフォームから呼び出される共有ライブラリがあります。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をフックできることは知っています)そうであれば、アプリPIDがJavaアプリケーションになるため、私のシナリオに役立ちますか。

PS - 私のアプリは Android で実行するためのものではありませんが、Android 開発者が解決策を認識している可能性があるため、Android タグを追加します。

4

0 に答える 0