Java プログラムによるすべての読み取りと書き込みをキャプチャできるツールを作成しようとしています。また、どのオブジェクトのどのフィールドがアクセス/変更されているかを知りたいです。
私は現在見ました: -
1) java.lang.instrument 私はそれで多くを行うことができませんでした. 実行中のプログラムにアクセスし、さまざまなオブジェクト/フィールドおよび関連するものに監視を作成できるエージェントを作成する方法を理解できませんでした。そのあたりの意見や情報があればよろしくお願いします。
2) jvmti jvmti を見て、jvmti ツールを作成しようとしましたが、オブジェクトを取得するには、JVMTI_EVENT_OBJECT_ALLOC が潜在的な機能である必要があることがわかりました。しかし、私はそうではないと考えました。さらに、このイベントは新しいコマンドに対して呼び出されないことを読みました。したがって、現時点では、これも当てはまらないようです。
それで、上記の方法またはあなたが知っているかもしれない他のテクニック/ツールを使用して、私がやりたいことを行う方法を知っているかどうか知りたいですか?
注: アプリケーションのソース コードにアクセスできません。私が持っているのはクラスファイルだけです。