Android代码调试工具traceview 和 dmtracedump简介

Android 程序调试工具

 Google为我们提供的代码调试工具的亮点:traceview和 dmtracedump 。有了这两个工具,我们调试程序分析bug就非常得心应手了。traceview帮助我们分析程序性能,dmtracedump生成函数调用图。遗憾的是,google提供的dmtracedump是个失败的工具,并不能绘图,本文会详细介绍解决方案,实现绘图。

生成.trace文件

 android.os.Debug类,其中重要的两个方法Debug.startMethodTracing()和 Debug.stopMethodTracing()。这两个方法用来创建.trace文件,将从Debug.startMethodTracing() 开始,到Debug.stopMethodTracing()结束,期间所有的调用过程保存在.trace文件中,包括调用的函数名称和执行的时间等信息。

把下面代码分别在加在调试起始代码的位置,和终止位置。

Debug.startMethodTracing(“test”);
Debug.stopMethodTracing();

其中参数test是要创建的trace文件的名称,test.trace。默认路径是/sdcard/test.trace,也可以自己制定/data/log/test,表示文件在/data/log/test.trace。

traceview

在SDK中执行  :

./traceview test.trace

我们可以得到

 1.程序中每个线程调用方法的启动和停止时间

2.函数执行的信息和效率分析

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索debug
, 工具
, 文件
, android无线调试
, 代码
, test
, trace
, 调试android
, debug代码
, Debug详细介绍
, Android绘图
android调试log
dmtracedump、dmtracedump.exe、trace32 dump调试、dump trace、vs2010 调试输出trace,以便于您获取更多的相关知识。

时间: 2024-09-19 20:40:06

Android代码调试工具traceview 和 dmtracedump简介的相关文章

Android代码入侵原理解析(一)

Android代码入侵原理解析(一)           1.代码入侵原理 代码入侵,或者叫代码注入,指的是让目标应用/进程执行指定的代码.代码入侵,可以在应用进行运行过程中进行动态分析,也是对应用进行攻击的一种常见方式.我把代码入侵分为两种类型:静态和动态.静态代码入侵是直接修改相关代码,在应用启动和运行之前,指定代码就已经和应用代码关联起来.动态代码入侵是应用启动之后,控制应用运行进程,动态加载和运行指定代码. 2.静态代码入侵 静态代码入侵,有直接和间接的手段. 直接手段是修改应用本身代码

android 代码怎么实时监控连接当前wifi热点的设备的连接或断开事件?

问题描述 android 代码怎么实时监控连接当前wifi热点的设备的连接或断开事件? 如题,手机A开了热点,手机B打开Wifi连接上了A.那么当B关闭Wifi按钮时,A怎么实时感知到.有没有实现的代码.方法.求大神们解救哦哦!!!!! 解决方案 // 当网络变化的时候系统会发出一个广播 Broadcast,只要在程序中注册一个广播接收器 BroadcastReceiver,并在 IntentFilter 中添加相应的过滤,这样一旦网络有变化,程序就能监听到 public static fina

erlang语言,有没有用好的代码调试工具????????????????

问题描述 erlang语言,有没有用好的代码调试工具???????????????? 我现在在做erlang开发,然后遇到很多问题,想知道明白,erlang语言代码的执行过程,想有什么好的代码调试工具,高手求指教,求推荐啊 解决方案 有内建的debug工具 http://www.erlang.org/doc/apps/debugger/debugger_chapter.html

Android 代码JIT友好度检测工具_Android

利用周末的时间,写了一个检测Android代码JIT友好度的工具,取个名字为DroidJitChecker.希望可以帮助大家快速发现有坏味道的代码,并且及时修正. 名词解释 JIT:JIT全称Just-in-time compilation.意思为实时编译,是JVM中一种优化技术,对频繁调用并且符合条件的方法进行优化将字节码翻译成机器代码,提升执行效率. 方法大小:每个方法的方法体实现都可用字节作为单位进行衡量,通常情况下,方法体越大,其方法大小也越大. JIT友好:通常方法体实现越小越简单,越

android代码布局-android 代码中设置控件的垂直居中和两个控件之间的距离。

问题描述 android 代码中设置控件的垂直居中和两个控件之间的距离. 因为数据是动态的 所以所有的控件和布局都是在java代码里面设置 怎样才能让一个控件垂直居中 还有两个控件之间的距离又是怎么设置的啊 求高手指点啊 最好能给点代码 我是新手 说的太笼统了 看不太懂 谢谢了 解决方案 LinearLayout.LayoutParams params = new LinearLayout.LayoutParams( LinearLayout.LayoutParams.FILL_PARENT,

android 代码中怎么判断一个TextView有多少行?

问题描述 android 代码中怎么判断一个TextView有多少行? android 代码中怎么判断一个TextView有多少行? 解决方案 android.text.Layout包含此信息和更多final int lineCount = textView.getLayout().getLineCount(); 解决方案二: android.text.Layout包含此信息和更多final int lineCount = textView.getLayout().getLineCount();

在已知某一平台硬件功率的情况下,计算android代码的总能耗

问题描述 在已知某一平台硬件功率的情况下,计算android代码的总能耗 如果已知一段开源代码 ,通过什么办法在计算出所消耗的能耗呢,或者说怎样看出每条代码对应调用了什么硬件和调用时间,有研究过的前辈么,求救 解决方案 调用了什么硬件是不能看到的因为Android基于java,java不能直接调用硬件,可以通过汇编语言.计算机组成原理和操作系统这些课程大概知道是怎么调用的.调用时间可以通过前后获取系统时间相减大概知道花了多少时间. 解决方案二: 这个还真挺偏的.我也想知道,同关注. 解决方案三:

多应用-求一套Android代码生产多个应用的方法

问题描述 求一套Android代码生产多个应用的方法 我们目前有一个应用,现在需要多部署几个功能基本类似的应用,不同的地方包括欢迎页面.桌面图标.应用名称等,请问这个怎么实现 解决方案 补充 用的是Eclipse开发的 解决方案二: 如果只是改动UI相关于东西,可以通过工程引用的方式实现. 把通用的那部分逻辑和UI抽成一个独立的Android工程(例如叫B),然后把这个工程当作一个library(这个可以在Properties里面设置). 其他的多个换UI的部分也分成多个独立Android工程(

android 代码中禁用sim卡

问题描述 android 代码中禁用sim卡 android 代码中禁用sim卡,但又不屏蔽数据网络,要怎么实现? 解决方案 禁用sim卡,如何和基站通讯连接到网络呢?好比不许你带钥匙,又要允许你进入房间,这不是矛盾么?