java-bytecode-asm

    0热度

    1回答

    我正在编写一个需要动态实现接口的应用程序。关于生成类我没有(明显的)问题:我用javap和反编译器对它进行了验证。 问题是,在我生成我定义和实例化的类之后。最后,我将它转换为实现的接口的类型。 问题是我正在用java.lang.ClassCastException: MyGeneratedClass cannot be cast to MyInterface命中,虽然我在我打电话ClassWrit

    0热度

    1回答

    你好, 每当我试着接受一个ClassNode一个ClassWriter,它抛出一个NullPointerException异常。有没有办法让我解决这个问题? 以下是错误: Caused by: java.lang.NullPointerException at org.objectweb.asm.tree.ClassNode.accept(ClassNode.java:340)

    0热度

    1回答

    我正在使用ASM库来解析Java字节码,现在我正在尝试解析一个方法,并且我很好。但我面对有点问题解析方法的参数,并将其转换成等价的Java源代码,特别是如果放慢参数的类型是泛型列表,ArrayList中,设置等的考虑这种方法游客代码: public MethodVisitor visitMethod(int arg0, String arg1, String arg2, String

    2热度

    1回答

    我正在尝试使用ASM仪器Java同步块。问题是,在测试之后,同步块的执行时间需要更多时间。在Linux上,它从2毫秒增加到200毫秒。 我正在通过识别MonitorEnter和MonitorExit操作码来实现这一点。 我试着在三级的仪器1.在MonitorEnter之前2.在MonitorEnter之后3.在MonitorExit之前。 1和3一起工作正常,但是当我做2时,执行时间急剧增加。 即

    0热度

    2回答

    我正在使用asm(这里是文档http://asm.ow2.org/asm40/javadoc/user/),更具体地说,我正在尝试动态测试某些代码。 我的问题是,我不知道如何以及如果我能够通过什么提供asm来读取仪表代码的实际变量。 即我能够检索我在计量代码中计算的相应商店的LocalVariableNode,此时我想知道我存储的值(不仅仅是可以轻松地使用LocalVariableNode类中提供

    0热度

    2回答

    我想跟踪哪个方法调用java.lang.Thread.start()方法。 如何使用ASM Bytecode Library实现它...?

    6热度

    1回答

    我有一个自定义注释,我已经实现了,我想使用注释处理器来生成我的应用程序中使用的所有类的列表,使用该特定的注释。 我找到了this tutorial,它描述了如何使用注释处理器生成一个类文件,因此使用我的注释为每个类生成一个类应该相当容易。 我无法弄清楚的是我如何将所有这些信息收集到一个类中。似乎没有办法修改某个类,所以一旦该类第一次生成后,我就不能将新项添加到列表中。 有没有办法使用注释处理器来生

    0热度

    1回答

    我写了一个Java类asm.jar,它会转储字节码文件命名SimpleDynamicInvoker.class 没有其他第三依赖,除了JDK,是必须的。在eclipse中,正在执行的SimpleDynamicInvoker与我所期望的相同。 问题是,当我想调试SimpleDynamicInvoker.class(没有它的源代码,因为它正在执行我的类的结果)。我想检查如何调用jdk库。然后我在jav

    2热度

    2回答

    在安装了ASM Bytecode插件的IntelliJ中,您可以在查看类文件时在弹出菜单中选择“显示字节码轮廓”。最近我的IntelliJ(Community Version 12.1.6)开始显示: // couldn't generate bytecode view, no .class file found 在ASM窗口中。 这发生在我项目中不同模块的各种类文件上。奇怪的是,我会为一个班

    0热度

    1回答

    我正在使用ASM字节码阅读器来解析代码中存在的.class文件。 但我想要得到在int类将在xml中提及的类中定义的特定字符串。 那么如何使用XML并解析.class中存在的字符串。正如我所看到的那样,ClassReader仅将.class作为参数而不是XML或任何其他格式。 我使用的是这样的: InputStream in=String.class.getResourceAsStream("/j