Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

不能插桩带JSR/RET指令的类 #2

Open
cryforyou opened this issue Feb 23, 2017 · 14 comments
Open

不能插桩带JSR/RET指令的类 #2

cryforyou opened this issue Feb 23, 2017 · 14 comments
Labels

Comments

@cryforyou
Copy link

Caused by: java.lang.RuntimeException: JSR/RET are not supported with computeFrames option
at org.objectweb.asm.Frame.a(Unknown Source)
at org.objectweb.asm.MethodWriter.visitJumpInsn(Unknown Source)
at org.objectweb.asm.MethodVisitor.visitJumpInsn(Unknown Source)
at org.objectweb.asm.tree.JumpInsnNode.accept(Unknown Source)
at org.objectweb.asm.tree.InsnList.accept(Unknown Source)
at org.objectweb.asm.tree.MethodNode.accept(Unknown Source)
at com.mogujie.instantrun.IncrementalSupportVisitor.visitMethod(IncrementalSupportVisitor.java:146)
at org.objectweb.asm.tree.MethodNode.accept(Unknown Source)
at org.objectweb.asm.tree.ClassNode.accept(Unknown Source)
at com.mogujie.instantrun.IncrementalVisitor.instrumentClass(IncrementalVisitor.java:292)
at com.mogujie.instantrun.IncrementalVisitor$instrumentClass.call(Unknown Source)
at com.mogujie.aceso.HookWrapper.processClassInternal(HookWrapper.groovy:224)
at com.mogujie.aceso.HookWrapper.instrumentOneEntry(HookWrapper.groovy:170)
at com.mogujie.aceso.HookWrapper$_inject_closure2.doCall(HookWrapper.groovy:145)
at com.mogujie.aceso.HookWrapper.inject(HookWrapper.groovy:140)
at com.mogujie.aceso.HookWrapper$inject$0.callStatic(Unknown Source)
at com.mogujie.aceso.HookWrapper.instrument(HookWrapper.groovy:85)
at com.mogujie.aceso.HookWrapper$instrument.call(Unknown Source)

@farmerjohngit
Copy link
Collaborator

@cryforyou 这个问题一般出现在一些第3方包上。目前的解决方法是把报错的类放入到黑名单中。
操作如下:
设置build.gradle中Aceso的日志等级:logLevel=3,然后在报错堆栈的上方看到类似IncrementalSupportVisitor: Visiting 类路径 的log,然后把这个类放入到黑名单中。

@farmerjohngit farmerjohngit changed the title 自己项目引入插件编译错误 不能插桩带JSR/RET指令的类 Feb 27, 2017
@317764920
Copy link

317764920 commented Feb 27, 2017

已解决 ,感谢aceso的开发人员的解答

@zlg2338781286
Copy link

能看到很多IncrementalSupportVisitor: Visiting 这种的类,黑名单是在哪里,怎么放

@317764920
Copy link

@zlg2338781286
qq 20170228152256

@Dawnton
Copy link

Dawnton commented Feb 28, 2017

@317764920 @farmerjohngit 在gradle文件中是怎么配置的,为什么我在配置过--blackListPath = "./aceso-blacklist.txt" 后还是会报这个错,相应的包名也加进来了

@317764920
Copy link

@Dawnton 看demo

@Dawnton
Copy link

Dawnton commented Feb 28, 2017

@317764920 Demo里面没有关于黑名单设置的啊

@317764920
Copy link

@Dawnton gradle的配置参照demo中host和fix工程

@Dawnton
Copy link

Dawnton commented Feb 28, 2017

@317764920 非常感谢

@zlg2338781286
Copy link

@317764920 gradle的配置参照demo中host和fix工程?在demo中没找到呀
有qq群吗

@zlg2338781286
Copy link

@317764920 意思是黑名单这个文件直接创建在app下面就好了是吗

@farmerjohngit
Copy link
Collaborator

@zlg2338781286 见wiki: https://github.com/meili/Aceso/wiki blacklist项

@zlg2338781286
Copy link

嗯,谢谢

@xiejinsorry
Copy link

@farmerjohngit 能否加个好友 指点一下? 我这里还是有问题啊? 2933513182

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

6 participants