0
A
回答
0
字節代碼注入
- >>>注射,你想監控的類中的計數的代碼。
對於字節碼注入,您可以使用ASM或JavaAssit。
+0
非常感謝,但我認爲我不會爲我工作。 使用您的解決方案,我將看到在應用程序運行時調用該方法的次數,但我想進行靜態分析。通過編譯我的項目,我想了解一個方法被調用到類中的次數 – Nestor
0
解決方案: 嘗試下面的代碼,你會得到一個提示通過字節碼遍歷。如果仔細觀察,您可以看到在代碼中使用了多少次您的方法。爲此你甚至可以使用Regex。
package com.cosmic.evaluate.asm;
import java.io.FileInputStream;
import java.io.PrintWriter;
import org.objectweb.asm.ClassReader;
import org.objectweb.asm.util.ASMifier;
import org.objectweb.asm.util.TraceClassVisitor;
public class TetsMain {
public static void main(String[] args) throws Exception {
String classPath = "./target/classes/com/cosmic/evaluate/asm/TestClass.class";
int flags = ClassReader.SKIP_DEBUG;
ClassReader cr;
if (classPath.endsWith(".class") || classPath.indexOf('\\') > -1 || classPath.indexOf('/') > -1) {
cr = new ClassReader(new FileInputStream(classPath));
} else {
cr = new ClassReader(classPath);
}
cr.accept(new TraceClassVisitor(null, new ASMifier(), new PrintWriter(System.out)), flags);
}
}
Maven的依賴二手 org.ow2.asm ASM-所有 5.0.3
相關問題
- 1. 分析CSV文件
- 2. 分析.dmp文件
- 3. 在.class文件
- 4. 分析文本文件
- 5. 反映* .class文件
- 6. PCLint部分分析部分文件
- 7. SonarQube無法分析文件:Java文件
- 8. Python的文件分析器
- 9. 如何分析.mdmp文件?
- 10. 分析JSON文件用PHP
- 11. 分析jvm核心文件?
- 12. 轉儲文件分析
- 13. 分析音頻文件java
- 14. JSX文件SonarQube分析
- 15. Glassfish日誌文件分析
- 16. Log4cxx日誌文件分析
- 17. wget分析文件大小
- 18. Perfmon文件分析工具
- 19. Python的分析csv文件
- 20. Matlab .txt文件分析
- 21. 在C中分析文件
- 22. XML文件分析錯誤
- 23. awk來分析文件
- 24. tcpdump捕獲文件分析
- 25. 如何分析Jar文件?
- 26. Hadoop日誌文件分析
- 27. com.mcruiseon.buseeta E/dalvikvm:無法解析Lmy/library/class /文件;註釋類8906
- 28. SingleBOdy無法解析。它是間接需要的.class文件
- 29. class文件轉換爲java文件
- 30. 使用.java文件運行.class文件
你約達靈靜態或動態的信息?你想知道'.class'本身提及的方法的頻率,或者你想知道一個方法在執行時被調用了多少次? –
您可以使用ASM訪問代碼並計算提及該方法的次數。如果您想在運行時瞭解這些信息,我建議使用面向方面的庫來執行此操作。你可以像ASM一樣(像這些庫一樣),但更高級的庫會更容易。 –
我正在嘗試做靜態分析。試圖計算方法被提及的類的次數 – Nestor