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

相关文章
相关标签/搜索