Javaエージェント、計装および配列作成
-
15-10-2019 - |
質問
Javaアプリケーションのエージェントを作成する必要があります。これにより、すべての配列作成に関する特定のものがあります。これまでのところ、このイベントでコードを実行する方法を見つけることができませんでした。
- java.lang.instrument.classfiletransformerは「アレイクラス」を取得していないため、「アレイのコンストラクター」にフックする方法はありません。 「配列クラスが変更できない」
- JVMTIイベントはこれに対応していません
助言がありますか?
解決
それを行うには、アプリケーションのバイトコードを変更する必要があります。私は見つけました ObjectWeb ASM 仕事に最適なツールになること。一般的なアイデアは次のとおりです。
- 興味のあるクラスを傍受するJVMTIエージェントを作成します。
- ASMクラスの変圧器に計装するクラスを渡します。
- クラストランスでは、アレイの構築に関連するJavaオプコードを傍受できます。例: JVM仕様 多くのための)。
所属していません StackOverflow