您的位置:首页 > 移动开发 > Android开发

android入门(四) 调试工具DDMS的使用

2015-08-24 22:56 676 查看
DDMS 的全称是Dalvik Debug Monitor Service,即Dalvik调试监控服务,是一个可视化的调试监控工具。(Dalvik是Android平台的Java虚拟机,可以支持 .dex(即Dalvik Executable)格式的Java应用程序的运行)。它主要是对系统运行后台日志的监控,还有系统线程,模拟器状态的监控。此外,它还可以模拟收发短信,拨打电话和发送GPS位置信息等。

在eclipse里运行创建好的android虚拟机,并在eclipse右上角打开DDMS视图



全局视图如下



1、Devices可以查看到所有与DDMS连接的模拟器详细信息,以及每个模拟器正在运行的APP进程。DDMS监听第一个终端App进程的端口为8600,APP进程将分配8601,如果有更多终端或者更多APP进程将按照这个顺序依次类推。DDMS通过8700端口接收所有终端的指令。



如图最后一个进程,就是我们之前运行的例子。通过上方的工具条,可以调试某个进程或者对虚拟机屏幕进行截屏等等。

2、LogCat日志信息



level为日志级别,类似java开发的log4j

V:详细(Verbose)信息,输出颜色为黑色

D:调试(Debug)信息,输出颜色是蓝色

I:通告(Info)信息,输出颜色为绿色

W:警告(Warn)信息,输出颜色为橙色

E:错误(Error)信息,输出颜色为红色,

assert:懒懒的笔者没有查资料,先无视……

在Android程序调试过程中,引入android.util.Log包,然后使用Log.v()来记录详细信息的、用Log.d()来记录调试信息、用Log.i()来记录通告信息、用Log.w()来记录警告信息的、用Log.e()来记录错误。日志会在LogCat里输出。

我们还可以自定义日志过滤器,只看我们想要看的日志



3、Threads进程信息

获取进程信息需要选中右侧某一进程,点击Update Threads按钮,该进程所有的线程就会在Threads窗口中列出显示



Tid:linux的线程ID,

Stauts:线程状态,

——running:正在执行程序代码

——sleeping:执行了Thread.sleep()

——monitor:等待接受一个监听锁。

——wait:Object.wait()

——native:正在执行native代码

——vmwait:等待虚拟机

——zombie:线程在垂死的进程

——init:线程在初始化(我们不可能看到)

——starting:线程正在启动(我们不可能看到)

utime:执行用户代码的累计时间

stime:执行系统代码的累计时间

name:线程的名字

4、Heap内存信息

选中某一进程,点击Update Heap按钮,在Heap界面下,上部显示堆的详细信息,点击Cause GC进行垃圾回收,当完成后,可以看到一组对象类型和为每种类型已分配的内存,点击列表中的一个对象类型,下部为该种特定内存大小的对象分配的数量。



5、Allocation Tracker内存分配过程跟踪,可跟踪系统分配内存的情况。点击”Start Tracking”后点击”Get Allocations “就可以看到。



6、File Explorer手机文件管理,通过Pull或push按钮可以在虚拟机和电脑上传文件



7、Emulator Control模拟控制,可以模拟手机来电和发短信,以及发送虚拟地址坐标用于测试GPS功能等



点击send之后,模拟器收到了短信



中文乱码了,这个问题先忽略。

8、System Information系统信息,包括三部分CPU占用信息(CPU load)、内存使用信息(MemoryUsage)、框架渲染时间信息(Frame Render Time)

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  android