2014-10-31 31 views
2

我特別試圖確定一個程序中有多少個初始化變量在它的結尾是「活」的。我有多個類文件,我已拆分成一個文件使用如何執行Java字節碼活躍度分析?

java -c file1 file2 ... >> out.txt 

我該怎麼去做這件事。我可以簡單地計算一個變量的第一次出現,然後檢查它是否在程序中再次被引用?然而,這對順序字節碼有很大的假設,但這不一定是正確的。

生命力分析是否可能用於函數?

+0

您需要將代碼添加到代碼並運行程序 – 2014-10-31 16:43:10

+0

是否有自動化wa Ÿ要做到這一點?我正在分析大量的JAR文件,而不是直接修改代碼。 – jeffrey 2014-10-31 16:45:55

+0

字節碼檢測不需要您直接修改代碼 - 我將很快提供一個答案 – 2014-10-31 16:56:42

回答

0

閱讀this文章。長話短說:

你想攔截你的程序加載的每個類,而它的執行,並用一個已經在所需位置插入的版本(例如,在方法入口)替換它。這與java.lang.instrument和像ASM這樣的字節碼工程庫並不難完成。