我正在使用ASM将一些简单的跟踪指令注入到我的Java程序中的方法中,包括输入的方法、退出的方法、时间戳等。
这一切都很好用。
我现在想增加这一点并注入指令来捕获方法参数值和方法返回值,以一种可以通用地应用于任何方法的方式使用ASM。
任何能给我指明正确方向的代码示例都非常感谢。
发布于 2016-01-19 10:17:51
Type.getArgumentType(desc) // get arguments types. return Type[]
mv.visitVarInsn(Opcodes.ILOAD, index) // load parameter to stackpublic void visitInsn(int opcode) {
if ((opcode >= IRETURN && opcode <= RETURN)) {
//return value is on the top stack
}
mv.visitInsn(opcode);
}https://stackoverflow.com/questions/15849797
复制相似问题