dlt-rk3288开源硬件学习笔记-logcat命令学习

2019-05-17 10:36:03 专业的嵌入式方案服务提供商 已读

软件开发中,查看系统Log是必不可少。
我们知道Linux 内核用printk输出的调试信息,在串口终端上可以看到。但Android 系统调试信息呢?
Android 系统庞大,系统日志太多。不能像内核 一样直接输出到串口,需要用logcat命令来查看。
基本原理是:Android系统先把日志放到缓存(循环缓存)。当用户输入logcat时,再把缓存中的日志输出到串口。
                    不然不仅看花眼,还影响开机速度、运行速度。

locat 是一个命令,可以在adb shell上运行,也可以在调试串口控制台运行。
DLT-RK3288默认调试串口是UART2。DLT-RK3288 为了方便调试方便,板子上加了CH340 ,将串口接口转为USB接口。这是这 款产品一个亮点。省了USB转串口线了,普通的android数据线即可以用。

 

logcat 会输出系统哪些信息呢?
系统源码中所有被运行的 Log.*、Slog函数,其信息用用logcat都能看到。例如:

1.  Log.w(TAG, "Unable to retrieve font size");

复制代码

每一个输出的Android日志信息都有一个标签和它的优先级.

如何使用logcat ?
详细使用方法可以用logcat  --help 查看


image.png

大概意思:
-b加载一个可使用的日志缓冲区供查看,比如event radio . 默认值是main 。具体查看Viewing Alternative Log Buffers. 
-c
清楚屏幕上的日志. 
-d
输出日志到屏幕上. 
-f
指定输出日志信息的  . 
-g
输出指定的日志缓冲区,输出后退出. 
-n
设置日志的最大数目.,默认值是4,需要和 -r 选项一起使用。 
-r
时输出日志,默认值为16,需要和-f 选项一起使用. 
-s
设置默认的过滤级别为silent. 
-v<>
设置日志输入格式,默认的是brief 格式,要知道更多的支持的格式,参看Controlling Log Output Format。

logcat 使用方法太多,这里只介绍几条常用、入门级的方法
1、查看Android所有的log
串口命令行下敲入logcat命令。如果不想再看log,按CTL+C组合按键结束。

image.png

每一个输出的Android日志信息都有一个标签和它的优先级。
DLT-RK3288 Android 5.1 输出格式为:优先级/标签
上图的 V、D、I就是优先级,PhoneWindowManagerPowerManagerService 是两个不同的Tag。
优先级有:debug、必要信息、警告、错误等信息。
V    Verbose
  D    Debug
  I    Info
  W    Warn
  E    Error
  F    Fatal
  S    Silent (supress all output)
对应源码中的函数:Log.v 、Log.d 、Log.i 、Log.w 、Log.e。(或SLog.* 。
Tag 可以自己定义,一般文件名一样,方便源码位置的查找。
PhoneWindowManager对应的 frameworks/base/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java 源码里面的。

2、logcat -c 清除已有log。
logcat -c 命令执行之前的log将被清除。

3、logcat -b 查看部分log
例如:我们调试3G/4G?槭背S logcat -b raido 查看rillog。
类似的还有 logcat -b main 、logcat -b events等。

4、logcat -v time 输出log执行时的时间。
例如:logcat -v time  -b radio 
image.png

5、logcat -f  保存log到指定的文件。
例如 logcat -b radio -f /data/radio.log

6、logcat & 后台运行logcat
logcat
和常用linux命令没什么区别,加&可以让它在后台运行。这样既可以看log,又可以敲其他shell命令。

www.mibandspb.com
友情链接:幸运蛋蛋导航  幸运蛋蛋官网  幸运蛋蛋网址多少  幸运蛋蛋  幸运蛋蛋  幸运蛋蛋是真的吗  幸运蛋蛋开奖直播网  幸运蛋蛋开户  幸运蛋蛋登陆  幸运蛋蛋手机官网