init进程log抓取

 adb logcat -b events   打印events log信息

ps显示瞬间行程 (process) 的动态 

ps -AZ|grep -i init  查询init的属于的进程状态

android上层都是基于 init进程孵化而来

init进程中的log信息打印在kernel log 

可以通过 adb shell cat /proc/kmsg > kernel.log输出的kernel.log文件中搜索查看

由于默认klog内存比较小,从能连上adb导出log文件,基本上已经十来秒之后,故早期的一些log会被后续的log覆盖掉导致信息丢失。

在如下目录中

kernel-4.4/kernel/printk/printk.c

修改__LOG_BUF_LEN的值增加内存大小

 

//#define __LOG_BUF_LEN (1 << CONFIG_LOG_BUF_SHIFT)

 

#define __LOG_BUF_LEN (4*1024 *1024)  log缓存变成4M

也可以在adb shell中通过dmesg | grep "xxx" 查看关键字观察所添加的log是否有输出。

另外还有android log的buffer  system/core/liblog/include/private/android_logger.h

#define LOG_BUFFER_SIZE (256 * 1024) 调整大小

 

system/core/liblog/include/private/android_logger.h

//#define LOG_BUFFER_SIZE (256 * 1024) /* Tuned with ro.logd.size per-platform \*/
change to

#define LOG_BUFFER_SIZE (4 * 1024 * 1024)

 

Android P 上init进程出现log无法打印的问题

init进程log抓取_第1张图片

你可能感兴趣的:(android)