57. Android之程序调试LogCat (转)
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了57. Android之程序调试LogCat (转),小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2738字,纯文字阅读大概需要4分钟。
内容图文
![57. Android之程序调试LogCat (转)](/upload/InfoBanner/zyjiaocheng/1275/ec6d4b5a6fbb4cb3a44b96c326fa17d0.jpg)
无论什么样的程序开发过程中,出现错误都是不可避免的,一般情况下,语法错误会被开发环境检测到,并能及时的提示我们错误的位置以及修改的方法,但是逻辑错误就不是那么容易被发现了,通常逻辑错误的定位和分析是一件非常困难的事情。
所以在学习Android过程中,继学习它的程序结构,写了HelloWorld和一些简单的界面布局程序之后,我选择研究一下它的调试工具。LogCat就是其中一个。LogCat是用来获取系统日志信息的工具,它可以捕获的信息包括Dalvik虚拟机产生的信息,进程信息,ActivityManager信息,PackagerManager信息,Android运行时信息和应用程序信息等等。
我们可以在打开Eclipse之后,选择Window –> Show View ->Other菜单,然后在Android->LogCat中选择LogCat,这样LogCat便会在Eclipse的下方区域出现了。
其中,在LogCat的右上方的5个字母分别表示了5种不同类型的日志信息(并以不同颜色加以区分,级别越高,颜色越突出):
1. [V]:详细(Verbose)信息,输出颜色为黑色
2. [D]:调试(Debug)信息,输出颜色是蓝色
3. [I]:通告(Info)信息,输出颜色为绿色
4. [W]:警告(Warn)信息,输出颜色为橙色
5. [E]:错误(Error)信息,输出颜色为红色,这里错误信息的级别最高,其次是警告信息,然后是通知信息和调试信息,级别最低的是详细信息。
6.[assert],新版本加入的。
在LogCat中,我们可以通告这5个字母图标选择要显示的信息类型,级别高于所选类型的信息也会在LogCat中显示,但级别低于所选类型的信息则不会被显示。
在Android程序调试过程中,首先要引入android.util.Log包,然后使用用来记录详细信息的Log.v()、用来记录调试信息的Log.d()、用来记录通告信息的Log.i()、用来记录警告信息的Log.w()、用来记录错误信息的Log.e()这样五个函数在程序中设置“日志点”。这些函数的第一个参数是日志标签TAG(就是在你要测试的位置需要一个常量用来标记,标记的名字就是所谓的日志标签),第二个参数是实际的信息内容。每当程序运行到我们设置的“日志点”时,应用程序的日志信息便被发送到LogCat中,我们就可以根据“日志点”显示的信息与预期我们在函数中设置的信息内容是否一致来判断程序是否存在错误,这样就能根据“日志点”来迅速找到错误的“出事地点”了。
在下面的程序中,演示了Log类的具体使用方法:
1 package wt.relativeLayout; 2 5 import android.app.Activity; 6 7 import android.os.Bundle; 8 9 import android.util.Log; 10 11 import android.widget.Button; 12 13 import android.widget.EditText; 14 15 import android.widget.TextView; 16 20 21 public class RelativeLayout extends Activity { 2223finalstatic String TAG = "LOGCAT"; 2425private TextView tv = null; 2627private EditText et = null; 2829private Button btn1 = null; 3031private Button btn2 = null; 3233 @Override 3435publicvoid onCreate(Bundle savedInstanceState) { 3637super.onCreate(savedInstanceState); 3839 setContentView(R.layout.main); 4041 tv = (TextView)findViewById(R.id.label); 4243 et = (EditText)findViewById(R.id.entry); 4445 btn1 = (Button)findViewById(R.id.cancel); 4647 btn2 = (Button)findViewById(R.id.ok); 4849 tv.setText(R.string.name); 5051 btn1.setText(R.string.button1); 5253 btn2.setText(R.string.button2); 54555657 Log.v(TAG, "This is Verbose"); 5859 Log.d(TAG, "This is Debug"); 6061 Log.i(TAG, "This is Info"); 6263 Log.w(TAG, "This is Warn"); 6465 Log.e(TAG, "This is Error"); 6667 } 6869 }
程序运行后,LogCat捕获得到应用程序发送的日志信息,显示结果如下图:
通过结果我们发现,即使我们事先选择了某个特定的日志信息的级别,产生的日志信息还是有很多,需要我们逐条去阅读,给我们带来很大的麻烦。这时我们就要用到一个LogCat提供的“过滤”功能了,在右上角的“+”号和“-”号,分别是添加和删除过滤器。我们可以根据日志信息的标签(Tag)、产生日志的进程编号(Pid)或者信息等级(Level),对显示的日志内容进行过滤。在实际使用中,我们最好为每一个类声明一个字符串常量TAG,这样在Logcat中我们可以容易区分不同的类的日志了。
下面使用在LogCat右上角的“+”号,添加一个名为LogcatFilter的过滤器,并设置过滤条件为“标签=LOGCAT”,下图为过滤器的具体设置方法:
过滤器设置好后,LogcatFilter过滤后的日志信息如下图,这样,无论什么类型的日志信息,属于哪个进程,只要标签为LOGCAT,都将显示在LogcatFilter内。
运行测试后,对logCat中的log通过配置l过滤器进行过滤
这样,调试工作就完成了。
原文:http://www.cnblogs.com/benchao/p/5448359.html
内容总结
以上是互联网集市为您收集整理的57. Android之程序调试LogCat (转)全部内容,希望文章能够帮你解决57. Android之程序调试LogCat (转)所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。