如何使用怎么调试android程序中的logcat调试程序

Android logcat无输出信息解决方案
使用Eclipse调试Android程序时,经常会遇到logcat突然没有信息输出情况,当然首先要确认的却是有信息输出的(照常理,只要Android系统在运行,就会一直输出一些系统调试信息出来),还可以尝试如下方法:
方法1、退出并重启Eclipse
退出Eclipse,重启Eclipse,点击Eclipse的Window菜单,选择Open Perspective-&DDMS,有时不进入这个DDMS窗口,单在JAVA窗口就是没有log输出,反而一进入DDMS,马上就有LOG输出,个中自有原因,不过,只要解决问题即可。
清空当前LOGCAT记录。
方法2、进入Device调试窗口Reset adb
点击Eclipse的Window菜单,选择Show View-&Device,打开DDMS窗口,然后在左侧的Device窗口中,选择正在调试的设备,然后再Device的工具栏,选择Reset adb,这时应该就会有LOG输出。
方法3、卸载手机端垃圾软件
如果Reset adb时Eclipse提示Reset动作被拒绝,请检查手机上安装的软件,有些手机助手软件会占用adb通信端口或是进程,可先卸载这些软件方式,然后再次Reset adb。
有时候,这类常驻软件卸载后还需要把设备重启一次。
标签(Tag):
------分隔线----------------------------
------分隔线----------------------------Android开发使用LogCat,LogCat常见问题 - Android移动开发技术文章_手机开发 - 红黑联盟
Android开发使用LogCat,LogCat常见问题
一 LogCat是什么:
这是在安卓开发中用来显示打印日志用的工具,类似在java中用system.out输出,但是在安卓开发要求尽量使用logCat这样不仅专业,而且方便,更重要的是这个工具能代来好多好处和方便,那么接下来就看看 如何方便。
二 添加LogCat到你的Eclipse中
点击Eclipse导航栏中的Window&Show View&Other,会弹出一个Show View对话框。你在Show View对话框中展开Android目录,会看到有一个LogCat的子项
然后选中LogCat,点击OK,这样你就成功 将LogCat添加到Eclipse中了。
三 LogCat如何打印日志的级别
1. Log.v()
这个方法用于打印那些最为琐碎的,意义最小的日志信息。对应级别verbose,是Android日志里面级别最低的一种。
2. Log.d()
这个方法用于打印一些调试信息,这些信息对你调试程序和分析问题应该是有帮助的。对应级别debug,比verbose高一级。
3. Log.i()
这个方法用于打印一些比较重要的数据,这些数据应该是你非常想看到的,可以帮你分析用户行为的那种。对应级别info,比debug高一级。
4. Log.w()
这个方法用于打印一些警告信息,提示程序在这个地方可能会有潜在的风险,最好去修复一下这些出现警告的地方。对应级别warn,比info高一级。
5. Log.e()
这个方法用于打印程序中的错误信息,比如程序进入到了catch语句当中。当有错误信息打印出来的时候,一般都代表你的程序出现严重问题了,必须尽快修复。对应级别error,比warn高一级。由于这个方法打印出来是红色比较显眼
所以会有很多开发者喜欢用这个调试
四:LogCat的展示方式
如图 Log的信息会展示在text的地方,根据不同的级别会显示不同的颜色
可以再此处调节要打印的级别默认是verbose也就是打印所有
也可以点击上图所示的加号 根据自己的自定义的Tag进行打印。因为有时候里或者调试的时候打印的东西很多所以就可以根据这个方法过滤一些想要的信息。
最后一个也是值得注意的,就是这个搜索框可以搜索自己在Text里想找内容,可以直接搜索。是不是很方便呢。您所在的位置: &
Android调试之查看日志文件技巧
Android调试之查看日志文件技巧
然而,当我们转战android时,我们发现,通过单纯的System.out我们已经没有办法在console获取信息,为了获取必要的调试信息,我们要用到android的LogCat工具。下面我们来看一下android开发中如何查看app运行日志。
编程调试是每一个编程人员必备的编程技巧,而在编程调试中,我们最最常用也是最最有效的的调试方法之一就是输出信息,有过java编程经验的同学应该知道,在java再发的过程中,我们经常会通过在程序可能出现问题的位置处通过
System.out.println(&aaaaaaaaaaaaaaaaaaaaaaa&);
输出调试信息来调试程序,通过console控制台,我们就可以轻易得知我们的程序到目前位置处是否运行正常
然而,当我们转战android时,我们发现,通过单纯的System.out我们已经没有办法在console获取信息,为了获取必要的调试信息,我们要用到android的LogCat工具
下面我们来看一下android开发中如何查看app运行日志:
1.在android开发中,我们依然可以使用System.out来经行调试信息的输出,只是这时的调试信息不再console中,而是在LogCat中;&
2.我们也可以使用andorid工具包中的Log类来经行必要调试信息的输出。&
官方解释:Generally,&use&the&Log.v()&Log.d()&Log.i()&Log.w()&and&Log.e()&methods.
The&order&in&terms&of&verbosity,&from&least&to&most&is&ERROR,&WARN,&INFO,
DEBUG,&VERBOSE.&Verbose&should&never&be&compiled&into&an&application&except
during&development.&Debug&logs&are&compiled&in&but&stripped&at&runtime.&Error,
warning&and&info&logs&are&always&kept.&
当我们要输出信息时,直接使用Log中提供的Log.v()&Log.d()&Log.i()&Log.w()&and&Log.e()即可
@Override&&&&&&&&&protected&void&onResume()&{&&&&&&&&&&&&&Log.i(Tag,&&first&activity--------onResume()&);&&&&&&&&&&&&&System.out.println(&first&activity--------onResume()&);&&&&&&&&&&&&&super.onResume();&&&&&&&&&}&&&&&&&&&@Override&&&&&&&&&protected&void&onStart()&{&&&&&&&&&&&&&Log.i(Tag,&&first&activity--------onStart()&);&&&&&&&&&&&&&System.out.println(&first&activity--------onStart()&);&&&&&&&&&&&&&super.onStart();&&&&&&&&&}&&&&&&&&&@Override&&&&&&&&&protected&void&onStop()&{&&&&&&&&&&&&&Log.i(Tag,&&first&activity--------onStop()&);&&&&&&&&&&&&&System.out.println(&first&activity--------onStop()&);&&&&&&&&&&&&&super.onStop();&&&&&&&&&}&&&&&&&&&@Override&&&&&&&&&protected&void&onCreate(Bundle&savedInstanceState)&{&&&&&&&&&&&&&Log.i(Tag,&&first&activity--------onCreate()&);&&&&&&&&&&&&&System.out.println(&first&activity--------onCreate()&);&&&&&&&&&&&&&super.onCreate(savedInstanceState);&&&&&&&&&&&&&setContentView(R.layout.activity_main);&&&&&&&&&}&
我们已经把调试信息输出,那么我们应该如何更好的查看这些信息呢:
首先我们要打开eclipse的LogCat窗口,当我们运行一个app时,我们可以看到这个窗口一次会输出很多信息,大多数信息对于我们来说是不需要的, 为了更快的得到我们期望的信息,这里我们就要用到日志过滤器filter,如下图所示,通过加号,我们就可以新建一个过滤器了
新建如下:
如:当你想看System.out的信息时,在Filter&Name处填System.out(这里注意,这个名字是随便填写的)
在by&Log&Tag处填写:System.out这个是System.out.println在android中的Tag标志
当你想看Log输出的信息时,比如你输出的信息是:Log.d(&Test&,&this&is&a&Test&);
在Filter&Name处填写:Testaa,在by&Log&Tag处填写:Test.【编辑推荐】【责任编辑: TEL:(010)】
关于&&&&的更多文章
作为Android开发者,最头疼是什么?相信大家会异口同声的说Bug!
既然强大的Android Studio来了,有什么理由不去用呢?
微软和诺基亚终于达成协议,微软将收购诺基亚设备与服
随着秋的到来,各路才子佳人渐渐开始回到学校上课。不
百度推出轻应用引起业界火热议论,收购91和推出轻应用
本书依据最新版《软件设计师考试大纲》的考核要求,深入研究了历年软件设计师考试试题的命题风格和试题结构,对考查的知识点进行
Windows Phone专家
Android开发专家
51CTO旗下网站Android(28)
&&&&&&& 使用
对我们开发、调试程序有很大的帮助!通过,我们可以非常方便的了解到程序的执行情况,判断出错代码位置。
最简单的指令:
Log.v(String tag, String msg);&
Log.d(String tag, String msg);&
Log.i(String tag, String msg);&
Log.w(String tag, String msg);&
Log.e(String tag, String msg);
简单解释一下这5条指令:
Log.v&:输出颜色为黑色,任何消息都会输出,这里的v代表verbose啰嗦的意思,平时使用就是Log.v(&&,&&); & & & & & & & & &
Log.d&:输出颜色是蓝色,仅输出debug调试的意思,但他会输出上层的信息,过滤起来可以通过DDMS的Logcat标签来选择.&&&
Log.i&:输出颜色为绿色,一般提示性的消息information,它不会输出Log.v和Log.d的信息,但会显示i、w和e的信息&&&
Log.w :输出颜色为橙色,可以看作为warning警告,一般需要我们注意优化代码,同时选择它后还会输出Log.e的信息。
& & & & & & & & & & & & & & & & & & & & & & & & & & && & & && & && & & & & & & &&
&Log.e&:输出颜色为红色,可以想到error错误,这里仅显示红色的错误信息,这些错误就需要我们认真的分析,查看栈的信息了。 & & & &
如何打开,看到输出结果:&
& & & & 程序运行后并不会在 Eclipse 的控制台内输出任何信息,那么这些在程序中输出的日志跑哪去了呢? 有两种方法可以查看这些日志,最简单的方法是直接使用&Eclipse菜单 -& Windows
-& Show View -&Other -&
-& LogCat&即可
& & & & 在你启动你的调试程序,即通过Eclipse装到虚拟机中并启动之后,接下来你就能在界面看到各种调试信息。这些调试信息有的是系统生成的,还有你自己通过上述5条命令输出的某些参数的值,这样你就能通过相关的logcat输出的参数值,很容易的了解到程序执行的情况。
&不同的打印方法在使用时都是某个方法带上(String tag, String msg)参数,tag表示的是打印信息的标签,msg表示的是需要打印的信息.
另附上 吐出调试信息的smali代码:
a=0;//&&&& const-string v15, &addr-random&
a=0;//&&&& invoke-static{v15, v1}, Landroid/util/L-&v(Ljava/lang/SLjava/lang/S)I
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:378073次
积分:4432
积分:4432
排名:第3559名
原创:124篇
转载:174篇
评论:32条

我要回帖

更多关于 android使用真机调试 的文章

 

随机推荐