首页 理论教育 调试HelloWorld项目:实战技巧分享

调试HelloWorld项目:实战技巧分享

时间:2023-06-27 理论教育 版权反馈
【摘要】:在Eclipse中调试程序的方法很多,使用Eclipse调试Android程序时需要注意一些细节上的问题。下面通过DDMS调试“HelloWorld”项目。代码清单2-1HelloAndroid\src\icy\example\helloandroid\MainActivity.java选择“Run”→“Debug”命令,进入调试模式,如图2-25所示。图2-25“Debug”命令图2-26Logcat信息以上列举了一些在Eclipse编译器中常用的调试方式,当然调试的方式很多,读者同样可以根据自己的需要选择不同的方式进行调试。

调试HelloWorld项目:实战技巧分享

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

(1)将Eclipse的工作界面切换到“DDMS”标签。首先确定Eclipse右上角是否有“DDMS”标签。如果有,则直接单击该标签即可切换到DDMS工作界面,如图2-22所示;如果没有,则单击“Open Perspective”→“Other…”按钮,打开“Open Perspective”对话框,在“Open Perspective”对话框中选择“DDMS”选项,然后单击“OK”按钮,如图2-23所示。

图2-22 DDMS工作界面切换

图2-23 “Open Perspective”对话框

(2)在DDMS界面中选择“Devices”标签,查看其菜单的功能,可以看到Debug Process(调试进程)、Update Threads(更新线程)、Stop Process(停止进程)、Screen Capture(屏幕截图)等选项,如图2-24所示。

图2-24 DDMS操作选项

从图2-24中可以观察到Android程序运行时的各种状态,比如进程信息、线程分析、堆内存的占用等。当然这些操作都是在DDMS框架下进行的,日常开发的程序是无法执行调用的。下面介绍如何使用DDMS的Logcat来调试Android程序,步骤如下:

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

①Log.v(String tab,Stringmsg);

②Log.d(String tab,Stringmsg);(www.xing528.com)

③Log.i(String tab,Stringmsg);

④Log.w(String tab,Stringmsg);

⑤Log.e(String tab,Stringmsg)。

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

代码清单2-1 HelloAndroid\src\icy\example\helloandroid\MainActivity.java

(2)选择“Run”→“Debug”命令,进入调试模式,如图2-25所示。

(3)切换到DDMS界面,单击“Logcat”标签,即可查看刚刚在程序中打印的日志信息。不同颜色表示不同等级的信息,这样就可方便地对程序进行跟踪,使调试Android程序更加方便,如图2-26所示。

图2-25 “Debug”命令

图2-26 Logcat信息

以上列举了一些在Eclipse编译器中常用的调试方式,当然调试的方式很多,读者同样可以根据自己的需要选择不同的方式进行调试。希望读者能够根据不同的错误采取不同的方式进行调试,使错误快速地出现在眼前。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈