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]