Q
字节码和ASM
0
A
回答
0
你想在运行时读取类吗?试试这个
import org.objectweb.asm.ClassReader;
import org.objectweb.asm.util.ASMifierClassVisitor;
ClassReader cr = new ClassReader(b);
cr.accept(new ASMifierClassVisitor(new PrintWriter(System.out)), 0);
0
如果非要从包含INVOKESPECIAL指令ASM框架的AbstractInsnNode,将我的节点包括指令的方法规范?
AFAIK,是的。它应该是MethodInsnNode
的一个实例,并且desc
字段应该是一个方法描述符字符串。
如果insn有一个INVOKESPECIAL指令,我的ins会有一个像“invokespecial java/lang/StringBuffer /()V”的字符串?
实际上,有三个组件。方法描述符字符串,方法名称和拥有(在本例中为实际)方法的类的内部名称。
相关问题
- 1. 插入字节码用ASM
- 2. ASM:输出java字节码和操作码
- 3. ASM字节码方法参数值
- 4. 使用HttpURLConnection的ASM字节码
- 5. ASM字节码仪器仪表/出口
- 6. 变量定义和赋值检测asm字节码
- 7. 无法安装asm框架和字节码大纲插件
- 8. ASM字节码操作 - istore和istore_ <n>
- 9. ASM mov字节数组
- 10. Java ASM如何读取LOAD或STORE字节码的值
- 11. 使用接口访问字节代码类的Java OW2 ASM
- 12. ASM 4.0 Tree API:InsnNodes中的字节码映射?
- 13. 如何转储ASM生成的类的字节码?
- 14. ASM字节码操作:测量方法执行速度
- 15. 与ASM字节码检测功能不兼容的参数
- 16. 当字节码使用asm完成时,java.lang.reflect.InvocationTargetException被抛出。
- 17. 如何使用ASM 4.0修改Java字节码
- 18. ASM字节代码以识别for/while循环
- 19. 在ASM字节码库中获取泛型信息
- 20. x86_64 ASM - 指令的最大字节数?
- 21. 用asm动态生成字节
- 22. 字符串和ASM 86
- 23. ASM字节码视图显示“//无法生成字节码视图,找不到.class文件”
- 24. 使用ASM的一个类的所有超类java java字节码代码
- 25. ASM字节码库中用于操作码性质确定的实用方法?
- 26. 什么是Java ASM节点?
- 27. Tcl字节码和特效
- 28. 字节代码:LOOKUPSWITCH和TABLESWITCH
- 29. 标准Lua字节码和LuaJIT字节码之间的区别
- 30. 我可以使用与ASM相同的“生成器”生成Java字节码和源代码吗?
所以如果我将一个methodinsnnode变量转换为字符串,我将能够使用像.contains(“lang”)这样的方法在描述符中查找单词“lang”? – user1912475
听起来像一个坏主意。您应该可以将对象转换为'MethodInsnNode',然后通过声明的字段访问信息。它有点不清楚你实际上是在什么信息之后,但它*看起来像*你想要声明方法的类型的名称而不是方法的签名。 (不幸的是,你的问题有些方面没有意义。) –
让我试着解释一下:我只是想在字符串中存储描述符(其中是由invokespecial指令调用的超类的名称),所以我的程序可以最终读取这个字符串,并知道是否调用该方法来处理异常 – user1912475