java-bytecode-asm

    4热度

    1回答

    我目前正在为自己的DSL编写一个字节码编译器。但是,在执行字节码,我与ASM构建的时候,我得到以下错误: Exception in thread "main" java.lang.VerifyError: Bad instruction Exception Details: Location: ForClass.doLoop()V @14: wide Reason:

    1热度

    2回答

    在每个单元测试的@Before方法执行之前,我需要执行一些代码。问题是,我还需要知道哪些测试(名称足够)将在之后执行。 我可以使用带字节码操作的AspectJ或Java代理来实现此目的。此外,解决方案应该适用于不存在@Before注释的测试。 任何想法? 编辑:我不能修改单元测试本身,因为我正在开发一个框架,用于执行其他项目测试

    0热度

    1回答

    我对ASM很陌生。 我试图禁止在反编译器中的int搜索,所以我试图多次否定数学运算。 例子:int i = 10; - >int i = 2 + 8; 我已经做了,但我想这样做是这样的: int i = -(-(2+8)); 如果你知道,我怎么能做到这一点,请告诉我! 谢谢!

    2热度

    1回答

    所以基本上我试图在方法的末尾添加一个简单的System.out.println("hey"); 。我使用了树API。然而,我不断收到此错误: java.lang.VerifyError: Expecting a stackmap frame at branch target 38 这是我的代码: public class MethodNodeCustom extends MethodNode {

    1热度

    1回答

    我一直在挖掘通过我的OpenJDK编译器编译的Java lambda表达式字节码,并且我想知道,lambda表达式字节码可能因编译器/运行时而异?我想知道,我的检测逻辑可以跨平台工作,或不。

    3热度

    5回答

    我试图检查(在字节码级别,ASM)类实现一些特定的接口(在这种情况下,java.sql.Connection),并发现在某些情况下,库有另一个接口扩展从我的一套接口...然后他们的类实现THAT接口。 (在这种情况下,新的扩展接口com.mysql.jdbc.Connection扩展了java.sql.Connection,然后它们的实现,例如ConnectionImpl实现了com.mysql.

    0热度

    1回答

    我正在尝试使用ASMifier来正确理解我的.class文件中的内容。问题在于该工具省略了某些mv.visitXXX。例如,它不会显示行声明标签的mv.visitLabel(标签)。 它是有道理的,因为ASMifier只显示创建类所需的mv.visit,但我想以不同的方式使用它。 有无论如何要求工具显示它访问的所有内容吗?

    1热度

    2回答

    我正在创建一个基于ASM的实用程序来即时生成类。我需要的一件事就是生成一个具有泛型类型作为参数的方法签名。例如。 public void setValue(List<String> value) {...} 问题是如何获得使用ASM库的List<String>的描述符。我知道有一个实用方法asm.Type.getDescriptor(Class),我不知道是否有什么像​​,或者我该如何实现?

    1热度

    1回答

    我在大学为我的汇编语言课程下载了Jasmin JVM。我目前有一些困难。 我该如何写入.j文件: - 我已经尝试在textedit和eclipse中编写文件并将其保存为.j文件,然后将其移动到目录中,但它不会让我从终端运行它。 如果任何人都可以帮助我,或带领我走向正确的方向,那将不胜感激。

    0热度

    1回答

    假设我想在调用某个感兴趣的方法之前调用(日志记录)方法之前。这意味着在侦听visitMethodInsn时,堆栈已经填充了感兴趣方法的参数。 是否有可能将当前堆栈存储在某处,调用日志并重新填充堆栈?我是否缺少任何明显的堆栈变异操作符?还是我真的需要: 存储在变量堆栈暂时 缓冲区中的所有堆栈突变呼叫,直到一个方法调用到我的(可能不适用)记录调用之后重播缓冲区? 例:给予原代码 public stat