MTK抓log方法&log机制以及如何抓取log

目录

离线log抓取:

adb命令打开mtklog的方法 :

实时log抓取:

设置log等级和打开平台log:

实时抓取,两种方式:

Kernel Log:

LOG 优先级

logcat


离线log抓取:

1.手机先进入开发者模式

2.进入拨号页面,输入*#*#3646633#*#*

3.右划进入log and debugging 选择debugloggerui,将除了第一个全部都关闭,只留下一个mobilelog,然后点击录制,在录制之前,记得把以前录制的log删除掉,在进行录制

4.adb pull data/debuglogger

(pull log需要完整路径:adb pull  /storage/emulated/0/debuglogger)

5.抓取的log存储在执行所在目录下。

adb命令打开mtklog的方法 :

adb shell am start -n com.debug.loggerui/com.debug.loggerui.MainActivity

实时log抓取:

设置log等级和打开平台log:

adb root
adb remount
adb shell setprop persist.vendor.mtk.camera.log_level 3 
adb shell setprop vendor.debug.mapping_mgr.enable 2
adb shell pkill camera*

实时抓取,两种方式:

adb logcat -G 30M;adb logcat -c ;adb logcat>~Downloads/test.txt

adb logcat -G 30M && adb logcat -c && adb logcat | grep -iE "ASD"

Kernel Log:


    在开发Linux device Driver或者跟踪调试内核行为的时候经常要通过Log API来trace整个过程,Kernel API printk() 是整个Kernel Log机制的基础API,几乎所有的Log方式都是基于printk来实现的。

利用printk,我们可以像开发C应用中printf接口一样印log,最简单的方式,我们只要把需要打印的内容传给printk函数就可以了,如下:

printk("This is just an example!!");

当然使用printk还有一些需要注意的地方,在详细讲述之前我们先分析一下printk()实现,其流程大致如下图所示:

从上图可以看出,printk的流程大致可以分为两步:

将所有Log输出到内核的Log buffer,该Log Buffer是一个循环缓冲区,其地址可以在内核中用log_buf变量访问。根据设定的Log级别决定是否将Log输出到Console。所以我们打印的log会走向两个位置:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

青春~飞鸟

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值