logcat工具介绍

logcat是android中的一个命令行工具,可以用于得到程序的log信息。

安卓日志级别

V—Verbose(啰嗦,最低级别,开发调试中的一些详细信息,仅在开发中使用,不可在发布产品中输出,不是很常见,包含诸如方法名,变量值之类的信息)
D—Debug(调试,用于调试的信息,可以在发布产品中关闭,比较常见,开发中经常选择输出此种级别的日志,有时在beta版应用中出现)
I—Info(信息,该等级日志显示运行状态信息,可在产品出现问题时提供帮助,从该级别开始的日志通常包含完整意义的英语语句和调试信息,是最常见的日志级别)
W—Warning(警告,运行出现异常即将发生错误或表明已发生非致命性错误,该级别日志通常显示出执行过程中的意外情况,例如将try-catch语句块中的异常打印堆栈轨迹之后可输出此种级别日志)
E—Error(错误,已经出现可影响运行的错误,比如应用crash时输出的日志)
F—Fatal(严重错误,比error级别更高,目前我只在android系统内核发出的日志中看到此种级别。在Android6.0以前表明开发者认为绝对不应该出现的错误,在此以后一般开发场景下绝不应该输出此种级别的日志)
S—Silent(寂静,最高级别,没有一条日志会属于这个级别,仅仅作为关闭logcat输出的过滤器参数)

测试环境

image.png

遇到的问题

点击获取验证码,提示验证码错误
image.png

获取该app的进程号

使用命令查看该app对手机内存的占用情况,执行结果里面会出现该app的进程编号(pid)

adb shell dumpsys meminfo com.lqm.home

该app的进程号为3546
image.png

使用logcat抓取该app的日志

命令如下:

adb logcat -v time | find "3546"

发现日志存在中文乱码问题,乱码原因是:Android中使用的是UTF-8字符,而CMD默认字符集是ANSI,中文环境下即为GBK
image.png
乱码问题解决办法如下:

chcp  65001

将活动代码页修改为65001
image.png
使用locatcat重新抓取日志
image.png

根据日志分析原因

从告警日志中可以分析出剩余短信条数已经不足。需要充值,才能正常调用厂商的短信接口。
image.png

参考资料

[01] android logcat抓取app日志的方法
https://blog.csdn.net/u011649536/article/details/49364107/
[02] Android logcat解析与问题分析
https://blog.csdn.net/sinat_41928334/article/details/81153086
[03] 浅谈Android的日志机制:Log和logcat
https://baijiahao.baidu.com/s?id=1574426791610636
[04] CMD命令进行adb logcat时显示一堆的乱码的解决办法
https://blog.csdn.net/lqxandroid2012/article/details/48001931

微信扫一扫关注公众号
image.png
点击链接加入群聊

https://jq.qq.com/?_wv=1027&k=5eVEhfN
软件测试学习交流QQ群号:511619105

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐