android调试工具DDMS的以详解

切切实实可见http://developer.android.com/tools/debugging/ddms.html。
DDMS为IDE和emultor、真正的android设备架起来了相同栋桥。开发人员可以经过DDMS看到目标机器及运行的历程/现成状态,可以
android的屏幕及支付机上,可以看经过的heap信息,可以查阅logcat信息,可以查看过程分配内存情况,可以像目标机发送少信和打电话,可
以像android开发发送地理位置信息。可以像gdb一样attach某一个进程调试。 SDK
tools目录下提供了ddms的完全版本,直接运行即可。下面坐Eclipse的DDMS
perspective为例简单介绍DDMS的职能。

    
跟debug,java的perspective一样,安装好adt后会起一个DDMS得perspective,打开即可。

 必发bifa88手机客服端 1

     开拓后的窗口也,

必发bifa88手机客服端 2

device窗口罗列模拟器中装有的进程,右上较量那无异解除按钮分别吗:调试某个进程,更新某个进程,更新过程堆栈信息,停止某个进程,最后一个图按照
钮时抓取android目前之屏幕。

必发bifa88手机客服端 3

   
当你选中某个进程,并依下调试进程按钮时,如果eclipse中生出之过程的代码,那就是得拓展源代码级别之调试。有点像gdb
attach。图片抓取按钮可以将目前android的显示桌面抓及您的机上,也是杀有效。

   右边那个窗口中产生threads, heap , file
explorer选项卡。分别显示线程统计信息,栈信息,以及android的文件系统。

必发bifa88手机客服端 4

file
explorer非常有因此,他好管文件上传android手机,或者由手机下充斥下来,也足以进行删减操作。选中file
explorer选项卡后,按下三只按钮便可实现对android手机文件系统的上传,下载,删除操作。

必发bifa88手机客服端 5

   emulator
control也是很主要之,通过她好像手机发送短信,
打电话,已经更新手机位置信息。

必发bifa88手机客服端 6

 

总结:

  eclipse
adt时提供的的ddms功能只是真的ddms的同多少片,你
可以直接采用tools下面的ddms来利用有功能。其中起一个翻过程内存分配的效用于有因此。

DDMS全称:Dalvik Debug Monitor
Service
一如既往,DDMS的意它提供截屏,查看线程和堆的消息,logcat,进程,广播状态信息,模拟来电呼叫和短信,虚拟地理坐标等等。 

仲,DDMS怎样工作1,每一个Android应用都运作于一个Dalvik虚拟机实例里,而诸一个虚拟机实例都是一个独门的经过空间。虚拟机的
线程机制,内存分配和管理,Mutex等等都是恃底层操作系统而实现的。所有Android应用之线程都对应一个Linux线程,虚拟机因而可以还多的
依赖操作系统的线程调度以及管理机制。 
2,DDMS在IDE与装备或者模拟器之间的由在中人的角色。 
3,DDMS启动时会以及ADB之间确立一个device
monitoring
service用于监控设备。当设备断开或链接时,这个service就会见通报DDMS。 
4,当一个装备链接上常,DDSM和ADB之间又见面起VM
monitoring service用于监控设施及之虚拟机。 
5,通过ADB
Deamon与装备及之虚拟机的debugger建立链接,这样DDMS就开同虚拟机对话了。 

老三,端口1,对于设备及每个虚拟机的debugger,
DDMS都见面开一个监听端口。端口从8600开端。 
2,8700端口 

季,左边面板1,左边显示了独具当前能够找到的享有模拟器或设施列表和每个设备时正在运作的虚拟机列表。虚拟机是依次的包命来显示的。 

2,通过这些列表可以找到运行着想调试之activity的虚拟机。每个虚拟机旁边的凡“debugger
pass-through”端口,链接到其中一个端口就见面链接到设备及相应的虚拟机。不管什么,在于是DDMS时,只待链接到8700端口,因为DDSM
转发所有的通信及眼前摘的虚拟机。这样,就无须在每次切换虚拟机是重新配置debugger端口。 

3,当一个正值周转的顺序调用waitForDebugger()函数时,客户端名字旁边会显示一个红色的icon,知道debugger连上针对
应的虚拟机,这是debugger会变成绿色。 

4,如果看到叉icon,着表示DDMS用于不能够开拓虚拟机的端口而未克成立debugger与虚拟机建立连接。如果看到有着的虚拟机是这么,
很可能是起另外一个DDSM实例在运行。 
五,右边面板1,info 
这边显得关于选中的VM的形似的消息,包括过程ID,包名,和虚拟机版本。 

2,Threads  线程视图列有了此过程的兼具线程。 
ID:虚拟机分配的唯一的线程ID,在Dalvik里,它们是自3发端的奇数。 
Tid:linux的线程ID,For the main thread in
a process, this will match the process ID. 
Stauts:线程状态, 
running:正在尽程序代码 
sleeping:执行了Thread.sleep() 
monitor:等待接受一个监听锁。 
wait:Object.wait() 
native:正在实行native代码 
vmwait:等待虚拟机 
zombie:线程在临终之进程 
init:线程在初始化(我们无可能看到) 
starting:线程正在起步(我们无可能看到) 
utime:执行用户代码的共时间 
stime:执行系统代码的合时间 
name:线程的名字 

4,VM Heap  亮一些积的状态,在废品回收其间更新。当选定一个虚拟机时, VM
Heap视图不可知形数据,可以点击右侧面包上之涵盖绿色的”Show heap
updates”按钮,然后以点击”Cause GC “实施垃圾回收更新堆的状态。 

6,Allocation Tracker  每当是视图里,我们可以跟踪每个选中的虚拟机的内存分配情况。点击”Start
Tracking”后点击”Get Allocations “就可以看到。 

7,Emulator Control  以此,可以如法炮制一些设施状态和行。 
Telephony
Status:改变电话语音及数目方案的状态,模拟不同之大网快。 
TelePhony
Actions:发送模拟的对讲机呼叫和短信到模拟器。 
Location
Controls:发送虚拟的固化数据及模拟器里,我们就算可履一定必发bifa88手机客服端之类的操作。可以收工的以Manual里输入经度纬度发送到模拟器,也得以经
GPX和KML文件。 

六,其他1,File Explorer 
由此Device > File Explorer 就打开File
Explorer。这里可以浏览文件,上传上充斥删除文件,当然就是来相应权限限制的。 

2,Screen Capture  透过Device > Screen Capture 就可截图。 

3,Exploring Processes  通过Device  > Show process status ,这里的信是经过shell命令”ps
-x”输出的。 
4,Examine Radio State 
透过Device > Dump
radio,检测广播状态。 

5,Stop a Virtual Machine  由此Actions > Halt VM ,停止一个虚拟机。 

 

好文收藏。。。。

相关文章