`
欧阳晓
  • 浏览: 44260 次
  • 性别: Icon_minigender_1
  • 来自: 湖南
社区版块
存档分类
最新评论

Eclipse 用DDMS 调试Android 程序(转)

 
阅读更多

        在Eclipse开发工具中调试程序的方法很多,但是使用Eclipse调试Android程序时需要注意一些细节上的问题。许多刚接触 Android的开发者,在调试Android程序时总是不能迅速地找到程序的错误所在,Eclipse+ADT的开发环境中没有直接跟踪对象内容的方 法,但是我们可以使用Google提供的ADT插件DDMS(Dalvik Debug Monitor Service)在Eclipse上轻松地调试Android程序。DDMS为我们提供了很多功能,例如:测试设备截屏,针对特定的进程查看正在运行的线 程以及堆信息,Logcat,广播状态信息,模拟电话呼叫,接收SMS,虚拟地理坐标等等,下面我们通过DDMS来调试我们的Hello Android项目。

(1) 将Eclipse开发工具的工作界面切换到DDMS标签。首先确定Eclipse开发工具右上角是否有 'DDMS'标签,如果有,则直接点击该标签即可切换到DDMS工作界面,如图2-40所示。如果没有,则点击'Open Perspective'按钮,选择'Other...'命令按钮,打开'Open Perspective'对话框,如图2-41所示。在'Open Perspective'对话框中选择'DDMS'选项,然后点击'确定'按钮,如图2-42所示。

 
图2-40 DDMS工作界面切换
 
图2-41  打开视图布局显示操作
 
(点击查看大图)图2-42  视图布局选择框
(1) 在 'DDMS'界面中选择'Devices'标签,查看其菜单的功能,我们可以看到Debug Process(调试进程)、Update Threads(更新线程)、Update Heap(更新堆)、Cause GC(引起垃圾回收)、Stop Process(停止进程)、Screen Capture(屏幕截图)、Reset adb(重启Android Debug Bridge)菜单选项,如图2-43所示。
 
图2-43 DDMS操作菜单

(2) 从 图2-43中可以观察到Android程序运行时的各种状态,比如进程信息、线程分析、堆内存的占用,结束一个进等程。当然,这些操作都是在DDMS框架 下进行的,日常开发的程序是无法执行调用的。如果adb调试桥运行不稳定,可以选择'reset adb'来重新启动'adb.exe'进程。下面我们介绍如何使用DDMS的'Logcat'来调试Android程序,步骤如下。

1.'Logcat' 通过'android.util.Log'类的静态方法来查找错误和打印系统日志消息。它是一个进行日志输出的API,我们在Android 程序中可以随时为某一个对象插入一个Log,然后在DDMS中观察Logcat的输出是否正常。android.util.Log常用的方法有以下5个:

Log.v(String tag, String msg);

Log.d(String tag, String msg);

Log.i(String tag, String msg);

Log.w(String tag, String msg);

Log.e(String tag, String msg);

这 5种方法的首字母分别对应VERBOSE、DEBUG、INFO、WARN、ERROR。当利用DDMS进行调试时,它们的区别并不大,只是显示的颜色不 同,我们可以控制要显示的某一类错误,一般我们如果使用'断点'方式来调试程序,则使用Log.e比较合适。但是根据规范建议Log.v,Log.d信息 应当只存在于开发过程中,最终版本只可以包含Log.i, Log.w,Log.e这三种日志信息。下面我们对'HelloAndroid'程序进行调试,首先修改'HelloAndroid.java'如代码清 代2-1所示。我们在代码中加入了需要输出的日志信息。

代码清单2-1:HelloAndroid.java

  1. package com.yarin.Android.HelloAndroid;  
  2.  
  3. import android.app.Activity;  
  4. import android.os.Bundle;  
  5. /* 首先引入Log类 */  
  6. import android.util.Log;  
  7.  
  8. public class HelloAndroid extends Activity  
  9. {  
  10.     /* 定义TAG标签,这样可以很好的区分打印出来的log */  
  11.     private static final String TAG = 'HelloAndroid';  
  12.       
  13.     public void onCreate(Bundle savedInstanceState)  
  14.     {  
  15.         super.onCreate(savedInstanceState);  
  16.         /* 打印出不同的log信息 */  
  17.         Log.v(TAG,'VERBOSE');  
  18.         Log.d(TAG,'DEBUG');  
  19.         Log.i(TAG,'INFO');  
  20.         Log.w(TAG,'WARN');  
  21.         Log.e(TAG,'ERROR');  
  22.         setContentView(R.layout.main);  
  23.     }  
  24. }

分享到:
评论

相关推荐

    android下如何调试程序,Eclipse使用DDMS

    独立或结合Eclipse使用DDMS 3 独立使用DDMS 3 熟悉DDMS的关键特性 4 使用进程 4 向Android应用程序关联调试器 4 监视Android应用程序的线程活动 5 在Android应用程序中触发垃圾回收(GC) 5 监视Adroid应用程序的堆...

    调试Android程序的abd工具包

    通过adb我们可以在Eclipse中方面通过DDMS来调试Android程序,说白了就是debug工具。 adb的工作方式比较特殊,采用监听Socket TCP 5554等端口的方式让IDE和Qemu通讯,默认情况下adb会daemon相关的网络端口,所以当...

    解决小米手机无法连接eclipse调试案例

    小米手机在Eclipse真机调试时,设备选择列表无法显示手机,DDMS也连接不上设备

    android无线真机调试工具

    在eclipse上利用avd调试android程序是非常浪费时间的一件事,apk上传安装都要等很长时间,avd运行速度也差,运行计算比较多的程序就有问题了。如果用真机调试就快多了,但连接usb线又非常不方便,有了这个程序 你就...

    android x86镜像,支持以太网,可连接DDMS进行开发调试(part2/2)

    目前的3.2和4.0都不支持以太网,无法进行android开发. 使用此2.3版本,可以上网,使用adb连接DDMS,在eclipse上进行android程序的调试. 使用时请参考android x86修改分辨率相关的教程.

    android x86镜像,支持以太网,可连接DDMS进行开发调试(part1/2)

    目前的3.2和4.0都不支持以太网,无法进行android开发. 使用此2.3版本,可以上网,使用adb连接DDMS,在eclipse上进行android程序的调试. 使用时请参考android x86修改分辨率相关的教程.

    androidADB驱动

    安卓adb驱动(adb工具包)是Android设备(如手机)连接电脑PC时所需要的驱动程序,一般Android设备连接WinXP是无需安装驱动的。...通过adb我们可以在Eclipse中方面通过DDMS来调试Android程序,说白了就是debug工具。

    android调试工具DDMS的使用详解

    具体可见http://developer.android.com/tools/debugging/ddms.html。 DDMS为IDE和emultor、真正的android设备架起来了一座桥梁。开发人员可以通过DDMS看到目标机器上运行的进程/现成状态...下面以Eclipse的DDMS perspe

    Android的ADB工具使用

    ADB的工作方式比较特殊采用监听Socket TCP 5554等端口的方式让IDE和Qemu通信,默认情况下ADB会daemon相关的网络端口,所以当我们运行Eclipse时ADB进程就会自动运行,在Eclipse中通过DDMS来调试Android程序;...

    Android Debug Bridge (adb).zip

    adb的全称为Android Debug Bridge,就是起到调试桥的作用。通过adb我们可以在Eclipse中方便通过DDMS来调试Android程序,说白了就是debug工具。

    疯狂Android讲义源代码2

    1.3.3 使用DDMS进行调试 1.3.4 Android Debug Bridge(ADB)的用法 1.3.5 使用DX编译Android应用 1.3.6 使用Android Asset Packaging Tool(AAPT)打包资源 1.3.7 使用mksdcard管理虚拟SD卡 1.4 开始第一个...

    Android移动应用开发(第3版)卷Ⅰ基础篇 (Shane Conder, Lauren Darcey) PDF扫描版

    附录还包含了Android开发常用工具(模拟器、DDMS和Eclipse)的使用指南。  《Android移动应用开发(第3版)卷Ⅰ:基础篇》卷Ⅰ以及本书的卷Ⅱ,不仅适合Android应用程序开发人员阅读,还能为QA测试人员提供指导。另外,...

    adb调试工具

    ADB的全称为Android Debug Bridge,就是起到调试桥的作用。通过ADB我们可以在Eclipse中方面通过DDMS来调试Android程序,说白了就是debug工具。

    实验1-Android环境搭建与调试.doc

    ADT扩展了Eclipse的功能,可以让用户快速的建立Android项目,创建应 " "用程序界面。 " "安装方法有2种: " "1)通过Eclipse IDE在线更新安装。如下图所示。 " " " "然后添加在线更新地址:...

    adb环境包及安装教程(兼容win11)

    通过ADB我们可以在Eclipse中方面通过DDMS来调试Android程序,说白了就是debug工具。ADB的工作方式比较特殊,采用监听Socket TCP 5554等端口的方式让IDE和Qemu通讯,默认情况下ADB会daemon相关的网络端口,所以当我们...

    android移动开发一本就够

    附录还包含了Android开发常用工具(如模拟器、DDMS、调试桥、Eclipse和SQLite等)的使用指南。 《Android移动开发一本就够》不仅适合Android应用程序开发人员阅读,还能为QA测试人员提供指导。另外《Android移动开发一...

    Android移动应用开发 第3版 卷1卷2合集part2

    android用户界面设计精髓 android应用程序设计精髓 对外发布你的android应用程序和附录6个部分 附录还包含了android开发常用工具 模拟器 ddms和eclipse 的使用指南 《Android移动应用开发 第3版 卷Ⅱ:提高篇》...

    Android移动开发一本就够

    附录还包含了Android开发常用工具(如模拟器、DDMS、调试桥、Eclipse和SQLite等)的使用指南。 《Android移动开发一本就够》不仅适合Android应用程序开发人员阅读,还能为QA测试人员提供指导。另外《Android移动开发...

Global site tag (gtag.js) - Google Analytics