TraceReader

Introduction: android 小工具,通过读取 trace 文件,回溯整个整个程序执行调用树。
More: Author   ReportBugs   
Tags:

1.简述

Android 调试工具 ddms 的 devices 栏目存在一个功能叫做 start method profiling,此按钮顾名思义是启动 method profiling 的,而 Android 的 Method Profiling 功能,是可以在一段时间内记录所有运行过的函数,最后生成一个 xxx.trace 文件。xxx.trace 文件比较有趣,如果分析 andorid 源码可以知道,xxx.trace 文件按线程和时间记录了 method 的 enter 和 exit 事件。也就是说,如果我们能够读取 xxx.trace 文件,那么我们就能够获取到某段时间,某个 app 运行过的 java 函数。

2.功能

于是乎,便有个这个工具,目前更新到 TraceReader v1.1,实现了如下功能:
1)支持拖拽解析 xx.trace。
image
2)支持显示线程。
image
3)支持树形显示方法调用
image
4)支持按列显示运行方法
image
5)支持搜索
image
6)支持复制、重命名
image
image
7)支持显示调用时间
image
image

3.用法

解析 trace 文件,用法如下:

  byte[] bytes=BytesHelper.toByteArray(fl.getPath());
  Trace trace=new Trace(bytes);         
  trace.getThreadList();

3.原理

TODO….

Apps
About Me
GitHub: Trinea
Facebook: Dev Tools