java-bytecode-asm

    0热度

    1回答

    我正在尝试使用Javassist编写简单的工具代理。 public class Agent implements ClassFileTransformer { protected Instrumentation instrumentation; protected ClassPool classPool; public Agent(Instrumentation

    -2热度

    2回答

    比方说,我在文件中A.java定义的常量INT:当我用在另一个文件B.java这个值 public final static int CONSTAN_VALUE_IN_A = 0; : int fooBValue = A.CONSTAN_VALUE_IN_A; 后,我编译我的项目,在B.class,我有: fooBValue = 0 我想知道如果我能得到其中的值“0”来自(A.java

    0热度

    1回答

    我想了解Java的ObjectWeb ASM库(框架?)如何通过阅读文档和查看示例代码的组合。我慢慢地意识到它背后的想法,但是我发现了一些我只是不理解的示例代码,所以我希望这里有人能向我解释它。 代码获取mv,从ClassWriter的visitMethod方法得到的MethodVisitor中,并开始操纵这样的方法: mv.visitCode(); String methodSigna

    0热度

    1回答

    我需要删除字段在类文件中使用ASM,但是我无法找到任何工作, for(FieldNode field : classNode.fields) { if(field.name.equals("max") && field.value.equals(30)) { classNode.fields.remove(field); System.out.println("*

    1热度

    1回答

    我正在生成一个简单的类并且无法注入一个适当的变量名称。 ASM版本是5.2。 下面是代码: package com.test; import org.objectweb.asm.*; import org.objectweb.asm.commons.GeneratorAdapter; import org.objectweb.asm.commons.Method; import jav

    3热度

    1回答

    当在Java字节码汇编指令级别下钻到运算符instanceof时,它对应于Java汇编指令instanceof。不过,我看到用于 规则确定objectref非空是否是解决类型的实例: 第二条规则说: 如果S是一个接口类型,则: 如果T是类类型,那么T必须是Object。 如果T是一个接口类型,则T必须是相同的接口S或S.的超接口 这使我感到困惑。 “S是接口类型”是指S的引用类型是接口类型吗?如果

    0热度

    1回答

    我是ASM和字节码工具的初学者,并试图通过一个简单示例进行学习。我想访问加载的所有类的所有方法,并将其标记为打印方法。 附加是我的程序,但它不按预期工作。每个加载的类只有几个方法被访问,其余的被忽略。似乎没有理解某些人被访问的是什么,有些人被忽略。 例如,当加载“javax/servlet/http/HttpServlet”类时,它仅针对构造函数和doGet方法调用visitMethod并忽略其余

    1热度

    2回答

    我有一个旧的库(大约在2005年),它执行字节码操作,但不会触摸堆栈图。因此,我的jvm(java 8)抱怨说它们是无效的类。解决这些错误的唯一方法是使用-noverify运行jvm。但这对我来说不是一个长期的解决方案。 有没有办法在类已经生成后重新生成堆栈映射?我看到ClassWriter类有一个选项来重新生成堆栈映射,但我不确定如何读取一个字节类并重写一个新的。这是可行的吗?

    0热度

    1回答

    我想在编程IDE中以不同间隔检索所有变量和不同值。例如,考虑QTP是一个测试工具,我有一个脚本,它有10个变量编写脚本。在运行期间,值经常发生变化,我想在变化时记录变量值。当我们知道它发生了变化时,如何一般性地访问它们而不是自己编写值?有什么可能吗?

    2热度

    1回答

    我试图使用ASM(字节码)库来获取IntInsnNode的值。 的IntInsnNode instuctions低于: sipush 18998 bipush 91 bipush 34 所以我想要实现的是得到18998,91和34