我正在使用ASM在我的Java程序中输入一些简单的跟踪指令,输入方法,退出方法,时间戳等......
这一切都很有效。
我现在想要扩充这个并注入捕获方法参数值和方法返回值的指令,使用ASM以一般方式应用于任何方法。
任何能够指出正确方向的代码示例都非常受欢迎。
答案 0 :(得分:0)
Type.getArgumentType(desc) // get arguments types. return Type[]
mv.visitVarInsn(Opcodes.ILOAD, index) // load parameter to stack
public void visitInsn(int opcode) {
if ((opcode >= IRETURN && opcode <= RETURN)) {
//return value is on the top stack
}
mv.visitInsn(opcode);
}