File tree Expand file tree Collapse file tree 4 files changed +42
-0
lines changed Expand file tree Collapse file tree 4 files changed +42
-0
lines changed Original file line number Diff line number Diff line change 1+ # MethodTraceMan问题排障
2+ 当集成完MethodTraceMan项目后,Rebuild项目并启动app后,遇到没有成功输出方法耗时数据时,第一步请先阅读以下的几个注意事项,看是否有存在问题:
3+ * 请不要同时打开两个集成了此项目的App,会导致耗时数据无法传送到浏览器的UI界面
4+ * 请不要同时连接两个手机,会导致浏览器打开界面失败
5+ * 集成进自己的项目的话,请务必记得将traceconfig.txt中 -tracepackage配置成自己想插桩的包范围
6+ * 如果重启AndroidStduio后在顶部栏没发现小灯泡图标,请检查AndroidStduio顶部栏View->Toolbar是否勾选上
7+
8+
9+ 当上面的注意事项都排查过没有问题,依然无法成功输出数据时,则需要启动项目内部的日志来排查问题了,整个项目主要包括:插桩、数据处理、发送数据、接收数据、展示数据等几个过程,所以我们在这几个重要过程都添加了详细的日志,遇到问题可以首先通过以下几个配置来打开详细的日志输出:
10+
11+ ## 打开详细日志输出配置
12+
13+ 1.build.gradle中打开logTraceInfo开关,则会在Rebuild过程中输出所有被插桩的类和方法
14+
15+ ``` groovy
16+ apply plugin: "cn.cxzheng.asmtraceman"
17+ traceMan {
18+ open = true //这里如果设置为false,则会关闭插桩
19+ logTraceInfo = true //这里设置为true时可以在log日志里看到所有被插桩的类和方法
20+ traceConfigFile = "${project.projectDir}/traceconfig.txt"
21+ }
22+ ```
23+
24+ 2.初始化MethodTraceMan项目时,设置日志输出级别为` 详细 ` ,如下配置即可:
25+
26+ ``` kotlin
27+ MethodTraceServerManager .startService(context)
28+ MethodTraceServerManager .logLevel = MethodTraceServerManager .MTM_LOG_DETAIL
29+ ```
30+
31+ ## 排障
32+
33+ 1.首先通过观察Build下的编译日志来看看是否插桩成功(会输出所有被成功插桩的类和方法)
34+
35+
36+
37+ 2.在Logcat下筛选关键字` MethodTraceMan ` ,观察各个流程的详细日志输出,看看哪个流程有问题,最后结束耗时统计的时候是否发送了耗时数据给浏览器等
38+
39+
40+
41+ 3.如果通过第二步的排查确定已经将数据正确的发送给了浏览器,那么最后一步就是排查浏览器是否正确的接收到了,打开浏览器的检查->Console查看输出即可。
42+
You can’t perform that action at this time.
0 commit comments