我需要记录对任何变量或对象的所有运行时访问我目前的方向是用修改后的字节码标记类文件性能目前不是问题
BCEL为字节码中的每个相关操作码添加一些跟踪指令看起来不错
但是,我也想添加一些源文件中的语义信息例如,这个变量是for循环计数器这将需要一些AST/解析树操作。
那么ASM/JavaAssist是更好的选择吗???
记录变量的使用情况是关键要求,因此字节码看起来是处理这一问题的正确级别。但最终我将不得不访问源解析树以获得更多的语义信息
有什么想法吗?
p.s.这将是一个大型的长期项目
查看JavaSnoop(https://www.aspectsecurity.com/research/appsec_tools/javasnoop/)。它将帮助您监控函数调用。