转贴  http://www.cnblogs.com/adison/p/4264284.html

在Android开发过程中,总免不了要调试,无论是Debug,还是Android自带的Logcat,抑或DDMS等等,使用得当会给我们开发带来事半功倍的作用。平时各种调试手段都试过,但很多东西,特别是一些命令,用完就忘了,想起来要用又要google;所以打算把这些东西整理出来,方便日后查看,也算是对一些经验的总结

Logcat

1.查看Android的logcat日志

Android系统在运行时会产生很多日志,以方便开发人员调试。Logcat日志是保存在洗头膏内存中的,从系统启动后就将系统各模块和各应用输出地日志统一放在内存中的一个环状队列中。将日志保存在系统内存中,确保了日志功能不会影响应用的速度,而环状队列是避免日志无限增长(环/Users/adison/octopress/source/_posts/2014-10-18-volley-cachefen-xi.markdown状结构,最后一个记录写满后会从第一个位置开始写)。
可以使用 “adb logcat” 查看这个内存中的日志

在应用中可以用Log类中的方法输出logcat日志。下面是几个常用的日志函数:

  • v(String,String) 记录冗余级别的日志
  • d(String,String) 记录调试级别的日志
  • i(String,String) 记录信息级别的日志
  • w(String,String) 记录警告级别的日志
  • e(String,String) 记录运行错误级别的日志

它们的优先级由低到高是v < d < i< w< e

2.过滤logcat日志

2.1.基于优先级

adb logcat提供了额外的功能,可基于日志优先级来过滤日志。用法为adb logcat *:#,其中#为上述级别之一。

所有优先级都自动包含比它高的优先级,因此adb logcat :W包含警告、错误和致命错误。当应用崩溃时,您可以使用adb logcat :E来查看导致该问题的原因,而不必费力去查看那些不着边际的调试用日志。然而在将日志提供给开发者时,应包含所有日志(不要设置任何过滤),因为通过调试日志通常可以找到问题的真正原因。

在调试应用时,可以使用“<标签>:<优先级>”的过滤条件去除很多不相关的日志。其中<标签>条件告诉logcat只输出具有制定标签的日志,而“优先级”条件则告诉logcat要输出日志的最低优先级,可以在logcat命令行中同时制定多个过滤条件,每个条件使用空格分隔即可。下面的命令只输出变标签为“ActivityManager”,优先级高于“信息”级别,标签为“dalvikvm”,优先级高于“调试”级别的消息,最后的“*:s”过滤条件将具有其他标签的日志消息全部屏蔽。

adb  logcat ActivityManager:I dalvikvm:D  *:s

2.2.基于内容

您还可以基于“内容”来过滤。比方说,您要收集所有提到术语“Google”的日志行。可以这么做:

adb logcat | grep Google

3.其他技巧

清空

如果您发现屏幕上塞满了没用的日志信息,但仍需要详细的日志,可以使用adb logcat -c清除日志缓冲区。它会重置日志并只显示重置后的日志内容。

Logcat用于错误跟踪

adb shell
logcat -d -f /sdcard/logcat.log *:E

-d 转存logcat内容
-f 指定日志保存位置
*:E 输出错误日志

Android调试之Logcat的更多相关文章

  1. 华为手机在开发Android调试时logcat不显示输出信息的解决办法

    手机连接电脑RUN AS logcat 提示:Unable to open log device '/dev/log/main': No such file or directory 信息 本人华为C ...

  2. cocos2d-js 写日志log 查看日志log Android调试查看log

    1 输出日志的方式,当然是cc.log了 2 如何查看日志?        a)如果小程序可以先在浏览器上跑,例如用chrome,在控制台就可以看到输出的log:        b)如果在真机上调试, ...

  3. android Log 等级以及在Android Studio 的Logcat中过滤方法

    Log等级 等级越高,问题越严重. Log.e(TAG,"级别5,错误信息"); Log.e(TAG,"级别5,错误信息"); Log.w(TAG," ...

  4. [Android学习笔记]Android调试

    Eclipse Debug 快捷键: [Ctrl + Shift + B]: 添加/取消断点 [F5]:进入方法中 [F6]:单步执行 [F7]:执行完毕此方法 [F8]:继续执行,直接跳到下一个断点 ...

  5. Android调试优化篇

    为了开发出商业级的应用程序,大规模的測试是不可避免的,同一时候为了提高应用程序的执行速度,须要进行必要的优化.在Android中.提供了丰富的调试与优化工具供开发者应用,主要包含模拟器和目标端等两种场 ...

  6. Android调试桥-Android Debug Birdge详解

    原文:http://android.eoe.cn/topic/summary Android调试桥-Android Debug Birdge Android调试桥(adb)是一个多功能的命令行功具,它 ...

  7. 转:Android 调试桥(adb)是多种用途的工具

    转自:http://my.oschina.net/xuwa/blog/1574 Android 调试桥(adb)是多种用途的工具,该工具可以帮助你你管理设备或模拟器 的状态. 可以通过下列几种方法加入 ...

  8. Android 调试桥(adb)是多种用途的工具

    Android 调试桥 Android 调试桥(adb)是多种用途的工具,该工具可以帮助你你管理设备或模拟器 的状态. 可以通过下列几种方法加入adb: 在设备上运行shell命令 通过端口转发来管理 ...

  9. Android 调试桥 (adb) 是 命令行命令--官方拷贝过来的,留作自己查看

    Android 调试桥 (adb) 是一种功能多样的命令行工具,可让您与设备进行通信.adb 命令便于执行各种设备操作(例如安装和调试应用),并提供对 Unix shell(可用来在设备上运行各种命令 ...

随机推荐

  1. A*B problem(FFT)

    #include<iostream> #include<cstdio> #include<cstring> #include<cmath> #inclu ...

  2. Project://Meeting_Room

    models from django.db import models from django.contrib.auth.models import AbstractUser class UserIn ...

  3. k-means算法的优缺点以及改进

    大家接触的第一个聚类方法,十有八九都是K-means聚类啦.该算法十分容易理解,也很容易实现.其实几乎所有的机器学习和数据挖掘算法都有其优点和缺点.那么K-means的缺点是什么呢? 总结为下: (1 ...

  4. Android源代码因删除所有git仓库导致的编译错误

    /******************************************************************************** * Android源代码因删除所有g ...

  5. java web service 上传下载文件

    1.新建动态web工程youmeFileServer,新建包com,里面新建类FileProgress package com; import java.io.FileInputStream; imp ...

  6. UVA 10417 Gift Exchanging

    #include <iostream> #include <cstring> #include <stdio.h> #include <math.h> ...

  7. 观后感|当幸福来敲门 The Pursuit of Happyness

    更好的阅读体验请点击:当幸福来敲门 The Pursuit of Happyness 看到时光机点亮的那一刻,我想儿子克里斯托夫正在侏罗纪的世界内探险,看着山川河流,穿梭在恐龙的脚下,在山洞中安稳的度 ...

  8. notepad++怎么显示项目的目录树?

    转:http://www.jcodecraeer.com/a/anzhuokaifa/androidkaifa/2014/1013/1762.html

  9. git统计当前分支提交次数

    切换到您要统计的分支,然后Git Bash here,执行如下代码即可 : git log --author="您的用户名" --since='开始日期' --oneline | ...

  10. 1.Linux下Git入门学习

    1.在Linux下安装git软件,使用以下命令: yum install git 2.设置用户名和邮箱(必须): git config --global user.name "Your Na ...