Javaアプリケーションの実行をトレースして、実行トレースの動的分析を実行しています。
すべてが正常ですが、リフレクションを介してメソッドが呼び出された場合。の呼び出しを確認できますがMethod.invoke
、その後、トレースにはリフレクションによって実行された命令が含まれていません。
プログラムが「通常の」実行に戻るとすぐに、プログラムは通常どおりに再度トレースされます。
インストルメンタを書いた人はASMライブラリを使用しました。
Javaアプリケーションの実行をトレースして、実行トレースの動的分析を実行しています。
すべてが正常ですが、リフレクションを介してメソッドが呼び出された場合。の呼び出しを確認できますがMethod.invoke
、その後、トレースにはリフレクションによって実行された命令が含まれていません。
プログラムが「通常の」実行に戻るとすぐに、プログラムは通常どおりに再度トレースされます。
インストルメンタを書いた人はASMライブラリを使用しました。
問題を解決しました。問題はインストルメンテーションに関係していませんでしたが、ちなみにオープンソースであるツールの構成に関係していました。
メソッドのバイトコードを変更することで機能したため、インストルメンテーションは適切に機能しました。プロジェクトのコードを見て、インストルメンテーションがどのように行われるべきかを確認してください。