Closed Dwan-xie closed 4 years ago
Robust的插桩从javaassist 改为Asm了.参考 AsmInsertImpl.java
Robust的插桩从javaassist 改为Asm了.参考 AsmInsertImpl.java
我看还保留了其他两个字节码类库的支持类,我以为是多个插桩方式都支持。
JavaAssistInsertImpl 这个类在实际工作中已经不用了吗?
JavaAssistInsertImpl 这个类在实际工作中已经不用了吗?
不知道唉。应该还是可以使用的,不过我这里只用ASM了。这个库默认也是ASM。你说的修改过的类成了空白应该不太可能吧。在插桩后输出Class文件到文件夹下面看一下字节码。我之前遇到问题就是这么调试的
JavaAssistInsertImpl 这个类在实际工作中已经不用了吗?
不知道唉。应该还是可以使用的,不过我这里只用ASM了。这个库默认也是ASM。你说的修改过的类成了空白应该不太可能吧。在插桩后输出Class文件到文件夹下面看一下字节码。我之前遇到问题就是这么调试的
在Aop完成后我查看过aop后的类代码只剩了一个类名,然后头部有一个注释 // IntelliJ API Decompiler stub source generated from a class file // Implementation of methods is not available 跟随Aop的过程通过log查看,到insertAfter之前所有的字符串拼接(即方法的解析和构建插桩),都正常生成了。但最后没有插回到原文件里。
在aop
JavaAssistInsertImpl 这个类在实际工作中已经不用了吗?
不知道唉。应该还是可以使用的,不过我这里只用ASM了。这个库默认也是ASM。你说的修改过的类成了空白应该不太可能吧。在插桩后输出Class文件到文件夹下面看一下字节码。我之前遇到问题就是这么调试的
在Aop完成后我查看过aop后的类代码只剩了一个类名,然后头部有一个注释 // IntelliJ API Decompiler stub source generated from a class file // Implementation of methods is not available 跟随Aop的过程通过log查看,到insertAfter之前所有的字符串拼接(即方法的解析和构建插桩),都正常生成了。但最后没有插回到原文件里。
在aop
你用jd-gui这个软件看字节码比较准确。ide的反编译有时候不显示 。而且混淆过程可能把你的插入的代码优化掉。最好加一下混淆白名单。
我们有类似的插桩逻辑使用的是javassist,但在遇到使用kotlin编写的类时,发现无法对生成的class进行插桩和修改,并且修改后的类变成了空白。 想请教一下robust在使用中是如何对于kotlin进行支持的。 感谢大佬百忙之中的解答和关注。十分感谢!