Android抓取各种log的方法

http://blog.csdn.net/matthewei6/article/details/50596983

1、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 shell dmesg                       //kernel log
adb logcat -v time -b events
2、anr log
adb pull /data/anr
3、tombstone log
adb pull /data/tombstones
4、core log
adb pull  /data/log/core
5、开机log
adb shell dmesg > dmesg.txt
6、logcatch
adb pull /data/logcatch
7、qxdm log
adb pull /sdcard/logs
8、 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 之类的工具进行具体的分析
9、bugreport
adb bugreport > bugreport.txt
10、kernel log(只有从当前时间起的很少的log)
cat proc/kmsg > kmsg.txt

11、其他

adb shell dumpstate //各类信息,比如进程信息,内存信息,进程是否异常,kernnel的log等
adb shell dumpcrash
adb shell dumpsys  //查询所有service的状态

Android 系统(38)---Android抓取各种log的方法相关推荐

  1. android log抓取方法,Android系统之Android抓取各种log的方法

    Android系统之Android抓取各种log的方法 2018年11月25日 | 萬仟网移动技术 | 我要评论 android之android抓取各种log的方法 1.logcat (四类log b ...

  2. Android系统(118)---Android抓取各种log的方法

    Android抓取各种log的方法 转自 http://blog.csdn.net/matthewei6/article/details/50596983 1.logcat (四类log buffer ...

  3. Android 如何抓取开机Log

    一般分析开机失败或者开机过程异常问题,都牵涉到如何抓取开机log的问题,参照如下抓取log: 1.如果开机过程还没有出现开机动画,就已经异常,直接抓取UART串口log: 2.如果开机动画已经显示,后 ...

  4. Android 7.0解决抓取不到https请求的问题

    Android 7.0解决抓取不到https请求的问题 参考文章: (1)Android 7.0解决抓取不到https请求的问题 (2)https://www.cnblogs.com/meitian/ ...

  5. 详解usbmon抓取的log各字段的含义

    详解 usbmon 抓取的 log 各字段的含义 在上篇文章中,我们已经介绍了如何在 linux 下使用 usbmon 抓取 usb 总线上数据的方法.(https://www.cnblogs.com ...

  6. 【android系统】android系统升级流程分析(一)---recovery模式中进行update包升级流程分析

    今天我们直接来看下android中具体的升级过程是如何的. 升级流程概述 升级的流程图: 升级流程分析 第一步:升级包获取 升级获取可以通过远程下载,也可直接拷贝到指定目录即可. 第二步:准备升级 然 ...

  7. android 获取hdmi数据格式,一种基于Android系统HDMI同显时节省带宽的方法与流程

    本发明涉及一种基于Android系统HDMI同显时节省带宽的方法,属于计算机领域. 背景技术: 通常很多移动设备都配备了小尺寸的LCD屏幕,有些使用场景为了能提供更好的交互控制操作,需要移动设备在大尺 ...

  8. Android系统架构-[Android取经之路]

    摘要:本节主要来讲解Android的系统架构 阅读本文大约需要花费10分钟. 文章首发微信公众号:IngresGe 专注于Android系统级源码分析,Android的平台设计,欢迎关注我,谢谢! 欢 ...

  9. android 服务端技术,移动应用服务器端开发(基于JSP技术)-2017 Android系统构架 Android系统构架.docx...

    Android系统构架 PAGE 1 目 录 TOC \o "1-3" \h \z \u 一.Android系统构架 1 二.Linux内核层 2 三.系统运行库层 3 (一)系统 ...

最新文章

  1. 从零到有的突破:BCH爱好者聚集地BCH.Club公测上线
  2. 【Python】torrentParser1.00
  3. 解决 /usr/share/git-cola/bin/ssh-askpass: 3: exec: wish: not found
  4. python读取大文件内容_Python模块linecache处理大文件
  5. BRAND-NEW OF DOUBLES工作组合的新作品
  6. .bash_profile和.bashrc说明
  7. 打开c盘_为什么你的C盘总是爆满?教你彻底清理C盘空间,瞬间提速50%
  8. [GCN] 代码解析 of GitHub:Semi-supervised classification with graph convolutional networks
  9. WINDOWS XP数字总线补丁 KB888111
  10. Au:持续性噪音降噪方法
  11. 有什么适合小团队的协作工具?
  12. 关于曼哈顿距离的最小生成树 POJ3241
  13. html字体大小vw,如何使用CSS vw尺寸单位实现响应式字体
  14. Redis中的Lua脚本怎么玩
  15. C++机器学习库整理
  16. make XXX_defconfig 分析
  17. php unlink权限设置,php中删除文件用unlink函数权限判断
  18. java nanotime 转秒_[Java] System.nanoTime()返回结果nanoSeconds和seconds之间的转换
  19. VMware Workstation实例二:单IP的虚拟机提供外网访问
  20. 西游记中孙悟空的家业历史

热门文章

  1. 内核中的UDP socket流程(7)——udp_sendmsg
  2. DSO 中的Windowed Optimization
  3. volatile的作用及原理
  4. java中用流提取文档中的文字,语言实现从word文档中提取文本
  5. 信访问题归并处理_最高法判例:行政机关以信访形式处理履行法定职责问题的起诉期限...
  6. 【LeetCode】【HOT】240. 搜索二维矩阵 II(抽象二叉搜索树)
  7. 【JUC】第二章 线程间通信、集合的线程安全
  8. Spring之AOP动态代理详解
  9. centos下安装opencv
  10. SQL删除语句同时向备份表插入数据