`
kanwoerzi
  • 浏览: 1645608 次
文章分类
社区版块
存档分类
最新评论

android程序调试

 
阅读更多

要想检查正在运行的应用程序中发生了什么情况,就需要查看正在运行的 Dalvik VM。在 Eclipse 中,选择 Window > Open Perspective > Other。在出现的对话框中选择 DDMS。这会在 Eclipse 中打开一个新的透视图,其中有许多有趣的窗口

DDMS 为IDE和Emultor(or GPhone)架起来了一座桥梁。Developer可以通过DDMS看到目标机器上运行的进程/线程状态:可以让Eclipse程序连接到开发机上运行;可以看进程的heap信息、logcat信息、进程分配内存情况;可以像目标机发送短信、发送地理位置信息以及打电话;可以像gdb一样attach 某一个进程调试。 下面简要介绍一下 DDMS 透视图中提供的资源:

1. Devices Device 中罗列了Emulator中所有的进程,选项卡右上角那一排按钮分别为:Debug the selected process调试进程、Update Heap更新进程堆栈信息、Dump HPROF file检查HPROF(Heap/CPU Profiling Tool)文件、Cause GC调用垃圾回收、更新进程Update Threads、Start Method Profiling开始方法分析、Stop Process停止某个进程,和Screen Capture抓取 Emulator目前的屏幕。当你选中某个进程,并按下调试进程按钮时,如果eclipse中有这个进程的代码,那就可以进行源代码级别的调试。有点像 gdb attach。图片抓取按钮可以把当前android的显示桌面抓到你的机器上,也是非常有用。 这里可以查看到所有与DDMS连 接的终端的详细信息,以及每个终端正在运行的APP进程,每个进程最右边相对应的是与调试器链接的端口。因为Android是基于Linux内核开发的操 作平台,同时也保留了Linux中特有的进程ID,它介于进程名和端口号之间。 DDMS监听第一个终端App进程的端口为8600,APP进程将分配8601,如果有更多终端或者更多APP进程将按照这个顺序依次类推。DDMS通过8700端口(”base port”)接收所有终端的指令。

2. Emulator Control 通过这个面板的一些功能可以非常容易的使测试终端模拟真实手机所具备的一些交互功能,比如:接听电话,根据选项模拟各种不同网络情况,模拟接受SMS消息和发送虚拟地址坐标用于测试GPS功能等。 Telephony Status: 通过选项模拟语音质量以及信号连接模式。 Telephony Actions: 模拟电话接听和发送SMS到测试终端。 Location Control: 模拟地理坐标或者模拟动态的路线坐标变化并显示预设的地理标识,可以通过以下3种方式: · Manual: 手动为终端发送二维经纬坐标。 · GPX: 通过GPX文件导入序列动态变化地理坐标,从而模拟行进中GPS变化的数值。 · KML: 通过KML文件导入独特的地理标识,并以动态形式根据变化的地理坐标显示在测试终端。 如:在Emulator Control/Telephony Actions 中输入如上图内容“Android 中文”,单击发送后,在Android模拟器中打开Messaging,看到下面的短信:

3. 文件管理器 显示文件系统信息。File Explorer非常有用:它可以把文件上传到Android、或者从Android上下载文件下来、也可以进行文件删除操作。选项卡右上角有上传、下载、删除三个按钮。一般情况下,File Explorer会有如下三个目录:data、sdcard、system。 · data对应手机的RAM,会存放Android OS 运行时的Cache等临时数据(/data/dalvik-cache目录);没有root权限时apk程序安装在/data/app中(只是存放apk 文件本身);/data/data中存放Android中所有程序(系统apk+第三方apk)的详细目录信息。 · mnt是mount,挂装的意思,mnt目录下的 sdcard对应sd卡。 · system对应手机的ROM,OS以及系统自带apk程序等存放在这里。 用户应用程序部署在 /data/app 目录中,而 Android 内置的应用程序部署在 /system/app 目录中。

4. Threads、Heap、Allocation Tracker Threads视图列出当前进程的所有线程。 Heap视图展示一些堆的状态,在垃圾回收其间更新。当选定一个虚拟机时, VM Heap视图不能显示数据,可以点击右边面包上的带有绿色的”Show heap updates”按钮,然后在点击”Cause GC “实施垃圾回收更新堆的状态。 在Allocation Tracker视图里,我们可以跟踪每个选中的虚拟机的内存分配情况。点击”Start Tracking”后点击”Get Allocations “就可以看到。 例如,为了查看Garbage Collection信息:点击 [Start Tracking]按钮 -> 保持程序运行一段时间后 ->点击[Get Allocations] 按钮,凭借得到的Allocations信息可以通过Line Number准确找到哪里的代码出现了问题。

5. LogCat LogCat 是一个日志文件,它记录 VM 中发生的活动。应用程序可以通过 Log.i(tag,message); 在这个日志文件中添加自己的日志项,其中的 tag 和 message 都是 Java 字符串。Log 类属于android.util.Log 包。

6. Console Android输出的信息,加载程序等信息。 注意: 在调试程序时,我一般不使用DDM中logcat来查看信息的输出~~,一般用sdk中tools中的adb logcat命令来调出信息的输出。

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/yinwei520/archive/2011/03/03/6219952.aspx

分享到:
评论

相关推荐

    Android 程序调试技术学习

    Android 程序调试技术学习 移动应用开发 Google

    android程序调试详解,解决程序排错的方法

    android程序调试详解,解决程序排错的方法

    Android程序开发范例宝典

    全书分为15章,内容包括Android模拟器应用、界面布局及菜单设计、Android常用组件应用、Android高级组件应用、Android程序调试、Activity窗口设计、Intent通信应用、数据存储技术、图形图像 资源太大,传百度网盘了...

    Android程序开发范例宝典.z01

    全书分为15章,内容包括Android模拟器应用、界面布局及菜单设计、Android常用组件应用、Android高级组件应用、Android程序调试、Activity窗口设计、Intent通信应用、数据存储技术、图形图像处理技术、3D及多媒体开发...

    Android程序开发范例宝典.zip

    全书分为15章,内容包括Android模拟器应用、界面布局及菜单设计、Android常用组件应用、Android高级组件应用、Android程序调试、Activity窗口设计、Intent通信应用、数据存储技术、图形图像处理技术、3D及多媒体开发...

    Android程序开发范例宝典.z02

    全书分为15章,内容包括Android模拟器应用、界面布局及菜单设计、Android常用组件应用、Android高级组件应用、Android程序调试、Activity窗口设计、Intent通信应用、数据存储技术、图形图像处理技术、3D及多媒体开发...

    android下如何调试程序

    android下如何调试程序,学习在eclipse下如何对android程序进行调试编译

    Android中的动态调试案例分析

    动态破解apk动态破解apk动态破解apk动态破解apk动态破解apk

    android真机调试设置

    android真机调试设置文档,新手必看,怎样设置使用真机调试Android程序

    Android蓝牙调试程序

    Android蓝牙调试程序,用于连接蓝牙,断开蓝牙,发送数据等

    Android自学视频教程 part1

    《Android自学视频教程》[1] 分3篇共21章,其中,第1篇为入门篇,主要包括Android入门、搭建Android开发环境、认识Android模拟器、剖析Android程序、Android常用组件的使用、掌握布局管理器、Android程序调试与错误...

    android真机调试全平台驱动程序

    android真机调试全平台驱动程序,帮助大家使用adb命令时电脑检测不出已插入android机器的情况。

    android之程序调试.pdf

    android之程序调试.pdf

    Android开发与实践 pdf

    内容包括搭建Android开发环境,Android模拟器与工具,用户界面设计,Android常用组件,深入理解Activity,Intent和BroadcastReceiver广播,用户资源的使用,Android事件处理,通知、对话框与警告,Android程序调试,...

    Android Socket调试助手教程及源码 调试助手.zip

    Android Socket调试助手教程及源码 调试助手。 Android Socket调试助手教程及源码。 代码很不错 思路好清晰, 经过自己修改后能用在自己的程序上了 AndroidSocket调试助手

    Android自学视频教程 part2

    《Android自学视频教程》[1] 分3篇共21章,其中,第1篇为入门篇,主要包括Android入门、搭建Android开发环境、认识Android模拟器、剖析Android程序、Android常用组件的使用、掌握布局管理器、Android程序调试与错误...

    ANDROID取证实战—调查、分析与移动安全,高清完整扫描版

    第3章讲解了软件开发套件、android虚拟终端的安装,以及取证技术的一些重要概念,涵盖davlik虚拟机、android程序调试桥、usb调试设置等;第4章分析了android系统的数据存储方式、涉及的内存类型,以及android中常见...

Global site tag (gtag.js) - Google Analytics