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

无法按traceconfig.txt进行插桩 #31

Closed
DYP1016 opened this issue Dec 14, 2019 · 4 comments
Closed

无法按traceconfig.txt进行插桩 #31

DYP1016 opened this issue Dec 14, 2019 · 4 comments

Comments

@DYP1016
Copy link

DYP1016 commented Dec 14, 2019

环境:
Android Studio 3.5.3
MethodTraceMan:1.0.7
tracemanplugin:1.0.3

其中配置项logTraceInfo = true

现象:

  1. 在traceconfig中, 写入-tracepackage [应用包名], 编译时看build Output打印只有:

Task :app:transformClassesWithTraceManTransformForDebug
[MethodTraceMan]: transform()

  1. 安装App, 进行方法计时, 结束计时, 结果显示有0条记录, 推断为插桩失败

  2. 在traceconfig中, 将-tracepackage注释掉(首行加#), 编译时看build Ouput显示大量类的插桩信息

  3. 安装App, 进行方法计时, App崩溃, 崩溃信息为java.lang.StackOverflowError: stack size 1041KB, 推断为计时方法本身也被插桩了, 导致循环调用栈溢出

  4. 在traceconfig中, 添加 -keeppackage cn/cxzheng,控制无需插桩的包, 编译运行

6, 安装App, 进行方法计时, App崩溃, 同样是栈溢出, 推断控制无需插桩的包一行未生效

问题原因:
traceconfig文件的判断可能有问题,对问题现象和环境有任何疑问,请向我留言,谢谢。

@zhengcx
Copy link
Owner

zhengcx commented Dec 14, 2019

看下来主要还是插桩配置的问题,注意配置的插桩范围包名一定要斜杆分割,而不是点分割,这一点在文档上也特别标注了,可以认真看一下文档。另外你反应的插桩类被插桩了,这个我排查一下,应该没问题,插桩类的配置只要按文档中的配置,就会被排除

@zhengcx
Copy link
Owner

zhengcx commented Dec 14, 2019

另外插桩类是TraceMan,有没有被插桩也可以通过build日志里搜索看看有没有被插桩

@zhengcx zhengcx closed this as completed Dec 16, 2019
@DYP1016
Copy link
Author

DYP1016 commented Dec 16, 2019

另外插桩类是TraceMan,有没有被插桩也可以通过build日志里搜索看看有没有被插桩

大佬,我加了您微信,麻烦接受一下,我在调试的时候遇到了匪夷所思的问题

@zhengcx
Copy link
Owner

zhengcx commented Dec 22, 2019

另外插桩类是TraceMan,有没有被插桩也可以通过build日志里搜索看看有没有被插桩

大佬,我加了您微信,麻烦接受一下,我在调试的时候遇到了匪夷所思的问题

已解决Window系统上换行符导致的配置文件解析问题,更新tracemanplugin版本号至1.0.4即可,感谢反馈:
dependencies {
classpath "gradle.plugin.cn.cxzheng.methodTracePlugin:tracemanplugin:1.0.4"
}

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

No branches or pull requests

2 participants