android adb命令 抓取系統各類 log

getLog.bat:html

adb root adb remount adb wait-for-device adb logcat -v time > C:\log.txt

 

在Android中不一樣的log寫到不一樣的設備中,共有/dev/log/system, /dev/log/main, /dev/log/radion, /dev/log/events四中類型。其中默認Log.v等寫入/dev/log/main中。Slog寫入/dev/log/system中。java

adb logcat -b <system, radio, events, main(default)>android

main — 查看主緩衝區 (默認緩衝區)   shell

radio — 查看包含在無線/電話相關的緩衝區消息   緩存

events — 查看事件相關的消息app

 

1.app log
adb logcat –v time > c:\appLog.txt工具

2.radio log
adb logcat –v time –b radio >c:\radioLog.txtspa

3.kernel log
adb shell cat /proc/kmsg > kernel.log.net

4.導出當前緩存的kernel log
adb shell dmesgcode

5.實時查看kernel log
adb shell kmsgcat


 

一、logcat 

 (四類log buffer是main,radio,system,events)

adb wait-for-device logcat  
adb logcat -v time > logcat.txt      //默認是-b main -b system
adb logcat -v time -b main        //main log
adb logcat -v time -b radio        //radio log
adb logcat -v time -b system        //system log
adb logcat -v time -b events
 
二、 anr log
adb pull /data/anr
 
三、 tombstone log
adb pull /data/tombstones
 
四、 core log
adb pull  /data/log/core
 
五、 開機log
adb shell dmesg > dmesg.txt
 
六、logcatch
adb pull /data/logcatch
 
七、qxdm log
adb pull /sdcard/logs
 
八、 hprof log
在分析app 時,咱們一般須要分析app 的java heap 資料,如分析java 的memory leak, 追查heap
中相關變量狀況等。

在android 中抓取app 的hprof 操做方式有下面幾種:
第一種方式: 使用am 命令
   adb shell am dumpheap {Process} file
   如 adb shell am dumpheap com.android.phone /data/anr/phone.hprof
   adb pull /data/anr/phone.hprof

第二種方式: 使用DDMS 命令
   在DDMS 中選擇對應的process, 而後在Devices 按鈕欄中選擇Dump Hprof file, 保存便可

第三種方式: 經過代碼的方式
   在android.os.Debug 這個class 中有定義相關的抓取hprof 的method.
如: public static void dumpHprofData(String fileName) throws IOException;
這樣便可在代碼中直接將這個process 的hprof 保存到相對應的文件中,注意這個只能抓取當時的
process.

若是想抓其餘的process 的hprof, 那麼就必須經過AMS 幫忙了。
能夠先獲取IActivityManager 接口,而後調用它的dumpheap 方法。具體的代碼,你們能夠參考
frameworks/base/cmds/am/src/com/android/commands/am/am.java 中的調用代碼

抓取回hprof 後,就能夠用hprof-conv 命令將DVM 格式的hprof 轉換成標準的java 命令的hprof
   hprof-conv in.hprof out.hprof
而後使用如MAT 之類的工具進行具體的分析
 
九、bugreport
adb bugreport > bugreport.txt
 
十、kernel log(只有從當前時間起的不多的log)
cat proc/kmsg > kmsg.txt

 

十一、其餘

adb shell dumpstate //各種信息,好比進程信息,內存信息,進程是否異常,kernnel的log等
adb shell dumpcrash
adb shell dumpsys   //查詢全部service的狀態
 

ref:
https://blog.csdn.net/matthewei6/article/details/50596983
https://www.cnblogs.com/zhengtu2015/p/5134012.html
 
Android logcat命令詳解
https://www.cnblogs.com/JianXu/p/5468839.html
 

解讀Android LOG機制的實現https://www.cnblogs.com/hoys/archive/2011/09/30/2196199.html

相關文章
相關標籤/搜索