分享

Android串口调试信息输出

 dggxkk 2012-05-24

Android串口调试信息输出

 (2012-02-14 10:18:45)
标签: 

杂谈

分类: Android学习
logcat是Android中一个命令行工具,可以用于得到程序的log信息。
  logcat使用方法如下所示:
  logcat [options] [filterspecs]

  logcat的选项包括:
  (1)-s 设置过滤器,例如指定 '*:s'
  (2)-f <filename> 输出到文件,默认情况是标准输出。
  (3)-r [<kbytes>] Rotate log every kbytes. (16 if unspecified). Requires -f
  (4)-n <count> Sets max number of rotated logs to <count>, default 4
  (5)-v <format> 设置log的打印格式, <format> 是下面的一种:(?具体哪几种需要尝试)
           brief   process   tag   thread   rawtime   threadtime   long
  (6)-c 清除所有log并退出
  (7)-d 得到所有log并退出 (不阻塞)
  (8)-g 得到环形缓冲区的大小并退出
  (9)-b <buffer> 请求不同的环形缓冲区 ('main' (默认), 'radio', 'events')
  (10)-B 输出log到二进制中。

  过滤器的格式是一个这样的串:
  <tag>[:priority]
  其中 <tag> 表示log的component, tag (或者使用 * 表示所有)

      priority 如下所示:
  (1)V——Verbose
  (2)D——Debug
  (3)I——Info
  (4)W——Warn
  (5)E——Error
  (6)F——Fatal
  (7)S——Silent

  事实上logcat的功能是由Android的类android.util.Log决定的,在程序中log的使用方法如下所示:
  Log.v() -------------------- VERBOSE
  Log.d() -------------------- DEBUG
  Log.i() -------------------- INFO
  Log.w() -------------------- WARN
  Log.e() -------------------- ERROR
  以上log的级别依次升高,DEBUG信息应当只存在于开发中,INFO, WARN,ERROR这三种log将出现在发布版本中。

  对于JAVA类,可以声明一个字符串常量TAG,Logcat可以根据他来区分不同的log,例如在计算器(Calculator)的类中,定义如下所示:
  public class Calculator extends Activity {
  
  private static final String LOG_TAG = "Calculator";
  private static final boolean DEBUG = false;
  private static final boolean LOG_ENABLED = DEBUG ? Config.LOGD : Config.LOGV;
  
  由此,所有在Calculator中使用的log,均以"Calculator"为开头。
  例如使用方法如下所示:
  # logcat &
  < 得到一个log片段 >
  W/KeyCharacterMap( 130): No keyboard for id 0
  W/KeyCharacterMap( 130): Using default keymap: /system/usr/keychars/qwerty.kcm.bin
  I/ActivityManager( 52): Displayed activity com.android.contacts/.DialtactsContactsEntryActivity: 983 ms
  I/ARMAssembler( 52): generated scanline__00000077:03545404_00000A04_00000000 [ 29 ipp] (51 ins) at [0x25c978:0x25ca44] in 1764174 ns
  I/ARMAssembler( 52): generated scanline__00000077:03515104_00000001_00000000 [ 46 ipp] (65 ins) at [0x25d1c8:0x25d2cc] in 776789 ns
  D/dalvikvm( 130): GC freed 834 objects / 81760 bytes in 63ms
  D/dalvikvm( 52): GC freed 10588 objects / 425776 bytes in 94ms
  其中W/I/D表示log的级别,“dalvikvm”“ARMAssembler”等是不同组件(component)的名称,后面括号里面的数字表示了发出log的进程号。
  
使用技巧:
  1.使用logcat &在后台运行
  2.使用-d得到所有log
  3.使用-f或者重定向(>和>>)输出到文件
  4.使用-s设置过滤器,得到想要的log。
  当然,最重要的还是在程序中加入恰当的log.

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多