質問

Javaアプリケーションのエージェントを作成する必要があります。これにより、すべての配列作成に関する特定のものがあります。これまでのところ、このイベントでコードを実行する方法を見つけることができませんでした。

  1. java.lang.instrument.classfiletransformerは「アレイクラス」を取得していないため、「アレイのコンストラクター」にフックする方法はありません。 「配列クラスが変更できない」
  2. JVMTIイベントはこれに対応していません

助言がありますか?

役に立ちましたか?

解決

それを行うには、アプリケーションのバイトコードを変更する必要があります。私は見つけました ObjectWeb ASM 仕事に最適なツールになること。一般的なアイデアは次のとおりです。

  1. 興味のあるクラスを傍受するJVMTIエージェントを作成します。
  2. ASMクラスの変圧器に計装するクラスを渡します。
  3. クラストランスでは、アレイの構築に関連するJavaオプコードを傍受できます。例: JVM仕様 多くのための)。
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top