android log抓取方法,Android系统之Android抓取各种log的方法
Android系统之Android抓取各种log的方法
2018年11月25日
| 萬仟网移动技术
| 我要评论
android之android抓取各种log的方法
1、logcat
(四类log buffer是main,radio,system,events)
adb wait-for-device logc
android之android抓取各种log的方法
1、logcat
(四类log buffer是main,radio,system,events)
adb wait-for-device logcatadb logcat -v time > logcat.txt //默认是-b main -b systemadb logcat -v time -b main //main log
adb logcat -v time -b radio //radio logadb logcat -v time -b system //system log
adb shell dmesg //kernel log
adb logcat -v time -b events
2、anr logadb pull /data/anr
3、tombstone logadb pull /data/tombstones
4、core logadb pull /data/log/core
5、开机logadb shell dmesg > dmesg.txt
6、logcatchadb pull /data/logcatch
7、qxdm logadb 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、bugreportadb 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的状态
版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。
相关文章:
webview是一个很简单的功能,代码没有什么逻辑上的难度,只是需要注意权限上的问题。其实在安卓编程的过程当中,权限问题可以算是出现...
android init进程对信号的处理流程
在android中,当一个进程退出(exit())时,会向它的父进程发送...
当ScrollView镶嵌listview会显示不全,通过查看ScrollView测量高度的源码,会发现ScrollView重写了父类viewGro...
前面说了,Android默认每个界面都有ActionBar,而我们项目使用Toolbar,所以要给Activit...
本文实例为大家分享了android walker登录记住密码页面的具体代码,供大家参考,具体内容如下
目标效果:
...
随着项目越来越多,代码的复用就变得异常重要,这时候就要进行模块化编程,就是把一些通用的组件或者类库做成单独的模块,其他项目直接进行引...
场景 根据GPS获取经纬度效果 注: 博客: https://blog.csdn.net/badao_liumang_qizhi 关注公众号 霸道的程序...
开发android程序时,有时候在程序运行的时候,不能让系统休眠,否则有一些运行会停止,因此我们需要设置禁止休眠,有两种方式:
&...
android intent传递数据底层分析详细介绍
我们知道在activity切换时,如果需要向下一个activit...
网友评论
验证码:
android log抓取方法,Android系统之Android抓取各种log的方法相关推荐
- win10 android文件夹是什么,windows10系统删除.android文件夹的方法
为了获得更好的体验,小编将电脑系统升级到了win10正式版.不过,最近小编在使用win10系统时遇到了无法删除.android文件夹的情况.经常一番研究,终于发现了该问题的原因和具体解决方法.接下来, ...
- android studio升级的步骤,win7系统更新Android Studio的操作方法
很多小伙伴都遇到过对win7系统更新Android Studio进行设置的困惑吧,一些朋友看过网上对win7系统更新Android Studio设置的零散处理方法,并没有完完全全明白win7系统更新A ...
- Android程序员的春天!系统盘点Android开发者必须掌握的知识点,移动架构师成长路线
前言 程序员,近年来十分火爆的职业,凭着巨大的市场缺口和高额的薪水吸引着大量毕业生加入程序员的队伍.这其中就包括各类专业的学生,像我这种自动化专业的也在其内.这些不是计算机科班出身的可以看作是半路出家 ...
- 路由器备份文件查看 Android,【教程】用安卓系统 手机查看路由U盘内容的方法...
本帖最后由 风车积木 于 2016-3-5 09:58 编辑 大家好,我是大风车,非常感谢您在平安夜(12月24日)在360商城抢购我们的360安全路由5G,希望您能使用愉快 下面,大风车就来介绍一下 ...
- 基于Android端的照片比对系统,基于Android系统的人脸识别系统
[文章摘要] 当前随着基于Android系统的移动终端设备的广泛应用,以及图像采集设备的普遍集成,使得Android系统的图像采集设备除了具有照相.摄像功能以外,正在扩展新的实用型功能.其中,利用An ...
- android中编辑框明文密文系统图标,Android设置密码的明文和密文显示【原创】
我们经常会在一些软件上发现在密码输入框的后面有一个按钮可以使我们输入的密码显示为密文(●●●●●或者*****),也可以显示为正常的可见状态,效果如图. 具体实现如下: 布局: android:lay ...
- 计算机连接扫描仪方法,Win7系统怎么连接扫描仪 win7连接扫描仪的方法
扫描仪通常被用于计算机外部仪器设备,通过捕获图像并将之转换成计算机可以显示.编辑.存储和输出的数字化输入设备,已经成为了我们办公和生活的必备设备了,但是很多win7系统用户并不知道要怎么连接扫描仪,其 ...
- cf不能全屏win7的解决方法_win7系统鼠标停顿怎么办 win7鼠标停顿解决方法【图文】...
我们在使用win7系统的过程当中,有用户发现一段时间不是用电脑之后,电脑鼠标就会出现停顿的现象,用户不知道怎么解决这个问题,为此非常苦恼,那么win7系统鼠标停顿怎么办呢?今天为大家分享win7系统鼠 ...
- oracle 恢复几种方法,重装系统后ORACLE的恢复的几种方法(转载)
文章出自:http://www.goceanedu.com.cn/Read_1861.htm 我的电脑突然挂了,不得不重装系统,不过我的ORACLE装在了D盘,所有的文件都还在,我相信一定能够恢复,直 ...
- android获取操作系统版本号,Android 获取手机的厂商、型号、Android系统版本号、IMEI、当前系统语言等工具类...
1.获取手机制造厂商 2.获取手机型号 3.获取手机系统当前使用的语言 4.获取Android系统版本号 5.获取手机IMEI串号 6.获取手机中的语言列表 SystemUtil类 1. /** 2. ...
最新文章
- 【评估价格】采购申请中的价格
- linux配置一个ip san存储服务器,网络存储服务ip-san搭建
- Java LineNumberReader getLineNumber()方法及示例
- 构建meteor应用程序_我构建了一个渐进式Web应用程序并将其发布在3个应用程序商店中。 这是我学到的。...
- 第四单元作业——UML分析总结学期总结
- 【less-7】sqli-labs靶场第七关(类似less-5)
- Mybatis常见的面试题
- 区块链开发入门教程【加精】
- DOS原理和常用命令详解示例
- 北大公开课计算机,清华、北大、浙大的计算机课程资源集都在这里了
- 研究生跟了一个很棒的导师是种怎样的体验?
- excel超链接报本机限制问题
- java xml sql_走进 SQL/XML
- 人效提高350%,基于KICP搭建的营销套电客服机器人,让欧派家居赢在起点
- 关于CFD计算过程的梳理
- 电商数据采集的10个经典方法
- C++语法整理(From GitHub)
- apple iMac一体机 装双系统 实战! (Apple +Win 7 64bit)Good
- MVG学习笔记(7) --自动标定和3D图形模型
- refresh方法_Android Shake to Refresh教程
热门文章
- 碰撞检测之碰撞检测函数
- java全月应纳税所得额_个人所得税应纳税所得额计算公式是什么?
- 如何 30 分钟搭建语聊房
- ElasticsearchStatusException[Elasticsearch exception [type=illegal_argument_exception, reason=Unknow
- Java实现 LeetCode 452 用最少数量的箭引爆气球
- HTML5响应式手机模板:电商网站设计——歪秀商城手机端开发静态页面HTML+CSS+JavaScript 手机模板wap 手机网站模板 企业手机网站模板
- window子系统 wsl2 ubuntu子系统配置代理
- surfacecontrol.java_简单说说JAVA层中Surface、SurfaceView、SurfaceHolder及SurfaceHolder.Callback之间的关系...
- Linux Mysql自动备份
- 版纳回来后的情绪低落