2012-10-03 51 views
4

我正在跟蹤Java應用程序的執行,以對執行軌跡執行動態分析。工具不適用於通過反射調用的方法

一切都很好,但是當通過反射調用方法時。我可以看到Method.invoke的調用,但在此之後,我的跟蹤不包含通過反射執行的指令。

只要程序返回到「正常」執行狀態,程序就會正常重新跟蹤。

編寫儀器的人使用了ASM庫。

+0

您可以使用ASM來獲取'Method.invoke'的參數。如果你願意,我會發佈一個答案。 – LanguagesNamedAfterCofee

+0

我應該可以讀取'Method.invoke'參數,但這隻能部分解決我的問題。我仍然會錯過通過反射調用的方法生成的調用樹。 – mariosangiorgio

回答

0

我解決了我的問題。該問題與儀器無關,而與該工具的配置有關,順便提一下是open source

工具正常工作,因爲它通過修改方法的字節碼來工作。看看項目的代碼,看看應該怎麼做。

相關問題