我需要记录对任何变量或对象的所有运行时访问我目前的方向是用修改后的字节码标记类文件性能目前不是问题
BCEL 看起来不错,可以为字节码中的每个相关操作码添加一些跟踪指令
但是,我还想从源文件中添加一些语义信息,例如这个变量是一个 for-loop 计数器这将需要一些 AST / 解析树操作。
那么 ASM / JavaAssist 是更好的选择吗???
记录变量使用是关键要求——所以字节码看起来是处理这个问题的正确级别。但最终我将不得不访问源解析树以获取更多语义信息
有什么想法吗 ?
ps 这将是一个长期的大型项目