所有运行时变量访问的java跟踪

时间:2011-07-01 08:27:27

标签: java trace bytecode bcel

我需要记录对任何变量或对象的所有运行时访问 我目前的方向是用修改后的字节码标记类文件 性能目前不是问题

BCEL看起来很好,可以在字节码中为每个相关的操作码添加一些跟踪指令

但是,我还想从源文件中添加一些语义信息 例如这个变量是一个for循环计数器 这将需要一些AST /解析树操作。

ASM / JavaAssist是更好的选择???

记录变量用法是关键要求 - 所以字节码看起来像是处理这个问题的正确级别。 但最终我将不得不访问源解析树以获取更多语义信息

有什么想法吗?

P.S。这将是一个大型的长期项目

1 个答案:

答案 0 :(得分:0)

查看JavaSnoop(https://www.aspectsecurity.com/research/appsec_tools/javasnoop/)。它将帮助您监控函数调用。