首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ASM Java BCI,跟踪方法参数值/方法返回值

ASM Java BCI,跟踪方法参数值/方法返回值
EN

Stack Overflow用户
提问于 2013-04-06 18:33:09
回答 1查看 699关注 0票数 1

我正在使用ASM将一些简单的跟踪指令注入到我的Java程序中的方法中,包括输入的方法、退出的方法、时间戳等。

这一切都很好用。

我现在想增加这一点并注入指令来捕获方法参数值和方法返回值,以一种可以通用地应用于任何方法的方式使用ASM。

任何能给我指明正确方向的代码示例都非常感谢。

EN

回答 1

Stack Overflow用户

发布于 2016-01-19 10:17:51

ASM参数示例请参阅(https://github.com/scouter-project/scouter/blob/master/scouter.agent.java/src/scouter/agent/asm/CapArgsASM.java)

代码语言:javascript
复制
Type.getArgumentType(desc) // get arguments types. return Type[]
mv.visitVarInsn(Opcodes.ILOAD, index) // load parameter to stack

ASM退货示例请参阅(https://github.com/scouter-project/scouter/blob/master/scouter.agent.java/src/scouter/agent/asm/CapReturnASM.java)

代码语言:javascript
复制
public void visitInsn(int opcode) {
    if ((opcode >= IRETURN && opcode <= RETURN)) {
        //return value is on the top stack
    }
    mv.visitInsn(opcode);
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15849797

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档