如何使用手机调试android程序中的logcat调试程序

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
您的访问请求被拒绝 403 Forbidden - ITeye技术社区
您的访问请求被拒绝
亲爱的会员,您的IP地址所在网段被ITeye拒绝服务,这可能是以下两种情况导致:
一、您所在的网段内有网络爬虫大量抓取ITeye网页,为保证其他人流畅的访问ITeye,该网段被ITeye拒绝
二、您通过某个代理服务器访问ITeye网站,该代理服务器被网络爬虫利用,大量抓取ITeye网页
请您点击按钮解除封锁&Android的LogCat的使用,调试规范Log
&在Eclipse中安装ADT和android sdk包之后,运行以开发的android程序时,在LogCat窗口中会显示出一系列的信息,这些信息是每一个程序通过Dalvik虚拟机所传出的实时信息,可以方便我们对程序的了解。 在log窗口中,每条信息都包含五个部分,Time,标题空白,pid,tag和Message。1、Time表示执行的时间,这个信息对于学习生命周期,分析程序运行的先后顺序特别有用。
2、标题空白的列表示的是信息的种类,分为V,D,I,W,E五种。V:verbose,显示全部信息D:Debug,显示调试信息I:Info,显示一般信息W:Warming,显示警告信息E:Error,显示错误信息可以通过点击LogCat上面的用圆圈括起来的V,D,I,W,E来改变显示的范围。比如选择了W,那就只有警告信息和错误信息可以显示出来了。3、pid表示程序运行时的进程号4、tag标签,通常表示系统中的一些进程名,比如我们运行helloworld程序的话,就会看到activitymanager在运行。5、Message表示进程运行时的一些具体信息,比如我们运行helloworld程序的话,就会看到starting activity...helloWorld的字样可以输出LogCat的信息到文本文件中,以方便分析。在下拉框中选择输出选择的信息就可以了。下面是输出到文件中的启动helloWorld程序时的一条信息的例子,分别用5个下划线标出了上面介绍的内容:05-20 15:46:10.129: INFO/ActivityManager(60): Starting activity: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x cmp=com.example.android.helloworld/.HelloWorld }6、Filter的使用可以在Filter中输入筛选信息,使LogCat中只现实我们需要分析的信息。比如我们只想看和HelloWorld相关的信息,就可以在Filter中输入HelloWorld,这样只有Message中包含HelloWorld的内容才会显示出来。7、LogCat中信息不能显示上面说了这么多关于logCat的使用,可能LogCat中根本就什么信息都没有显示!没关系,只要在Eclipse中选择window-&show view-&other-&android-&devices就可以了。8、在LogCat中输出程序的运行信息a、在程序中导入相应的包import android.util.Lb、在需要输出信息的函数中增加相关的调试代码Log.i(&hi world&,&oncreate&);方法i是Log类的静态方法,可以直接使用,我们看着各类的定义可以看到,它提供了多种输出方法,分别对应我们上面提到的V,D,I,W,E。用哪个方法就决定了输出的类型,这里用i,表示输出的是information。这个方法中的第一个参数就是要显示在Tag那一栏的内容,把这条语句加到OnCreate方法中,执行时LogCat中就会显示如下的信息。05-22 21:58:22.894 I 3910 hi world onCreate9、创建新的Filter有时候只想看我们程序中用Log类的相关方法输出的各种信息,这时就可以考虑新建一个过滤器。点击LogCat的右上角的“+”号,可以创建一个新的过滤器。比如我们在by Log Tag的选项中填入上面程序输出的&hi world&这个tag。这样再运行时在我们新创建的Filter中就只显示hi world这个tag标记出来的信息了。代码:// Debuggingprivate static final String TAG = &所在的类名&;private static final boolean D =案例,if (D) Log.d(TAG, &Socket Type: & + mSocketType +&BEGIN mAcceptThread& + this);在调试代码的时候我们需要查看调试信息,那我们就需要用Android Log类android.util.Log常用的方法有以下5个:Log.v() Log.d() Log.i() Log.w()以及 Log.e()。根据首字母分别对应VERBOSE,DEBUG,INFO, WARN,ERROR。1、Log.v 的调试颜色为黑色的,任何消息都会输出,这里的v代表verbose碌囊馑迹绞笔褂镁褪Log.v(&&,&&);2、Log.d的输出颜色是蓝色的,仅输出debug调试的意思,但他会输出上层的信息,过滤起来可以通过DDMS的Logcat标签来选择.3、Log.i的输出为绿色,一般提示性的消息information,它不会输出Log.v和Log.d的信息,但会显示i、w和e的信息4、Log.w的意思为橙色,可以看作为warning警告,一般需要我们注意优化Android代码,同时选择它后还会输出Log.e的信息。5、Log.e为红色,可以想到error错误,这里仅显示红色的错误信息,这些错误就需要我们认真的分析,查看栈的信息了。注意:不同的打印方法在使用时都是某个方法带上(String tag, String msg)参数,tag表示的是打印信息的标签,msg表示的是需要打印的信息。
上一篇: Android中的组件需要用一个int类型的值来表示,这个值就是组件标签中的id属性值。 id属性只能接受资源类型的值,也就是必须以@开头的值,例如,@id/abc、@+id/xyz等。 如果在@后面使用“+”,表示当修改完某个布局文件并保存后,系统会自动在R.java文件中 生
下一篇: ViewPager ViewPager类提供了多界面切换的新效果。新效果有如下特征: [1] 当前显示一组界面中的其中一个界面。 [2] 当用户通过左右滑动界面时,当前的屏幕显示当前界面和下一个界面的一部分。 [3] 滑动结束后,界面自动跳转到当前选择的界面中 ViewPager来4620人阅读
Android模块(8)
1. 系统刚开完机,想完全打印出来,则用 & logcat & & &, 这样它会把缓存里面的都打印出来;&
2. 如果不想打印占用终端,则加个&号,即 &logcat &
3. 如果想把前面的打印清掉,开始现在的打印,则用 logcat - logcat
4. 如果想过滤出代码中Log.d(TAG, &****&) 中TAG的关键字打印,则用 logcat -s TAG & & & & . TAG即是你自己定义的字符串。
5. 如果想打印出带有时间戳的打印,则 &logcat -v time & , 这样方便跟踪哪个时间点出现了问题,当然 time 后面还能加参数, 比如 logcat -v time -s TAG
6. 如果想要将打印输出到文件里面,可以直接使用 logcat -f /data/log.txt && &, &-f表示指定文件,& 表示后台执行,当然你用重定向 & 也可以实现输出到文件。后台执行需要注意的是你不需要的时候可以先用 &ps l 列出logcat的pid, 然后kill -9 &pid号& 将其删掉。
7. 如果运行过程中还没大概logcat某个APK就挂掉了,弹出已停止运行,我们可以用这个命令查看关键错误信息: & &logcat *:E & , 这样只是会过滤出前面带有E的错误信息。
& & &这里我只是抛砖引玉,希望以上这些能够帮助到新手,也希望各位补充一些更好的命令进行交流。
原创文章,欢迎转载,转载请注明:
作者:Dream Fly
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:277120次
积分:3507
积分:3507
排名:第5758名
原创:53篇
转载:16篇
评论:170条
(1)(1)(1)(2)(1)(3)(1)(1)(1)(1)(4)(1)(1)(1)(2)(1)(2)(1)(5)(4)(12)(22)

我要回帖

更多关于 android无线调试程序 的文章

 

随机推荐