节约纸巾 发表于 2013-8-28 16:30

Android程序设计(17)-如何除错

>  在这个章节要来说明如何利用工具来进行程序的除错,在Android SDK有大量的工具来帮助程序进行除错,目前有下述工具可以进行程序上的除错。   
   
  A.DDMS工具-图形介面程序支援埠位传送(如此要在IDE开发工具设定程序中断点),模拟器的萤幕撷取,执行绪与堆叠资讯,以及其它功能,也可以执行Logcat取得Log资讯,有关此工具在Android SDK 如何运作,请参考下述网址:http://code.google.com/android/reference/ddms.html。   
   
  B.Logcat工具–转储系统讯息log,讯息包含模拟器发生错误时的堆叠追踪,和Log讯息,有关此工具在Android SDK 如何运作,请参考下述网址:http://code.google.com/android/reference/ddms.html#logcat。   
   
  产生出来的讯息,如下述讯范例:   
   
  I/MemoryDealer( 763): MemoryDealer (this=0x54bda0): Creating 2621440   
   
  bytes heap at 0x438db000   
   
  I/Logger( 1858): getView() requesting item number 0   
   
  I/Logger( 1858): getView() requesting item number 1   
   
  I/Logger( 1858): getView() requesting item number 2   
   
  D/ActivityManager( 763): Stopping: HistoryRecord{409dbb20   
   
  com.google.android.home.AllApps}   
   
  C. Android的Log类别–在Android SDK有提供一个log类别可以在模拟器上将Log讯息输出到档案,如果执行Logcat工具,那可以及时读取讯息。在撰写程序码加入少量的log方法叫用:   
   
  使用Log类别,要依讯息需求状况来使用,可以应用的方式如下所述:   
   
  Log.v() (verbose等级)   
   
  Log.d() (debug等级)   
   
  Log.i() (information等级)   
   
  Log.w() (warning等级)   
   
  Log.e() (error等级)   
   
  等方法,如何使用此类别,如下述范例:   
   
  Log.i("MyActivity", "MyClass.getView() — Requesting item number " +position)   
   
  有关此工具在Android SDK 如何运作,请参考下述网址:http://code.google.com/android/reference/android/util/Log.html。   
   
  D.TraceView工具–可以使用TraceView这个图形化介面读取器来读取Android所储存档案的log档案,有关此工具在Android SDK 如何运作,请参考下述网址:http://code.google.com/android/reference/traceview.html。   
   
  E. 在Eclipse使用ADT外挂–Eclipse的ADT外挂包含一些整合好的除错工具(例如:ADB,DDMS,Logcat输出与其它功能)。下述为在ADT外挂时,如何简单的进行除错:   
   
  一、在专案的程序码列的左边设定程序中断点(Toggle Breakpoint),先选取一段程序码,在程序码列的左边的地方,按下滑鼠右键,就会出现选单,选取「Toggle Breakpoint」选项,那在程序码列的左边的地方就会出现一个中断点的符号,如图47所示。   
   
  http://www.apkbus.com/data/attachment/forum/201105/09/205105fununz0sfnuodc83.jpg   
   
  图47   
   
  二、下一步,选取选单「Run」中的选取「Debug」选项,来除错应用程序。如图48所示。   
   
  http://www.apkbus.com/data/attachment/forum/201105/09/205106hkh8zc2zwyfshp4c.jpg   
   
  图48   
   
  三、在Debug模式下,进行除错时,就会出现整合时的DDMS视窗及LogCat视窗,如图49、图50所示。   
   
  http://www.apkbus.com/data/attachment/forum/201105/09/205107yhp88jz1nnnf8msn.jpg   
   
  图49   
   
  http://www.apkbus.com/data/attachment/forum/201105/09/205109yhzm0g1ao0i14tu6.jpg   
   
  图50   
   
  F. 除错与测试装置设定-Android SDK也有提供多种重要讯息的设定,例如:中央处理器使用率与显示频率,可以参考下一章节的说明。   
页: [1]
查看完整版本: Android程序设计(17)-如何除错