init程序log抓取

2021-08-20 20:47:54 字數 1059 閱讀 8507

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 "***" 檢視關鍵字觀察所新增的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無法列印的問題

Log抓取方法

log抓取方法 一 adb log adb logcat b main d adb main.log ddms預設顯示的log adb logcat b radio d adb radio.log 協議相關log adb logcat b events d adb events.log 事件處理 a...

Init程序和程序

1 init程序 是使用者空間的初始化程序,是使用者空間啟動的第乙個程序。使用者空間的其他所有程序都由init來管理,無需核心管理。2 程序 是程式的例項,程序有生命週期。備註 程式成為程序的過程 向核心申請記憶體空間,由核心來啟動乙個程序分配記憶體空間,程序關閉時釋放記憶體空間。3 使用者空間和核...

linux程序 init程序(九)

linux下有3個特殊的程序,idle程序 init程序 和kthreadd idle程序由系統自動建立,執行在核心態 idle程序其pid 0,其前身是系統建立的第乙個程序,也是唯一乙個沒有通過fork或者kernel thread產生的程序。完成載入系統後,演變為程序排程 交換 init程序由i...