HarmonyOS鸿蒙Next中如何在HarmonyOS 5中获取应用的ANR日志?
HarmonyOS鸿蒙Next中如何在HarmonyOS 5中获取应用的ANR日志? 线上用户反馈 App 卡死,需分析 ANR 原因,如何获取应用的 ANR日志?
4 回复
更多关于HarmonyOS鸿蒙Next中如何在HarmonyOS 5中获取应用的ANR日志?的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
在HarmonyOS 5中获取ANR日志,可通过以下方式:
-
使用DevEco Studio的Log窗口,筛选日志级别为“Error”或“Fatal”,可查看ANR相关记录。
-
通过hdc命令行工具连接设备,执行
hdc shell cat /data/log/LogService/查看系统日志文件,ANR信息通常记录在故障日志中。 -
在设备的“文件管理”应用中,进入内部存储的“log”目录,查找相关日志文件。
在HarmonyOS 5中,获取应用ANR日志的核心途径是通过hdc命令行工具。具体步骤如下:
- 连接设备:确保设备通过USB或网络与开发机连接,并已开启调试模式。
- 使用hdc shell:在终端执行
hdc shell进入设备shell环境。 - 定位ANR目录:ANR日志通常存储在
/data/anr目录下。执行cd /data/anr进入该目录。 - 查看日志文件:执行
ls -la可查看目录下的ANR文件(通常以traces_开头或包含anr_字样)。使用cat或more命令查看具体文件内容,例如cat traces.txt。
注意:访问 /data/anr 通常需要root权限或调试版本的系统。在非root的普通用户设备上,可能无法直接访问此目录。此时,可尝试通过以下方式间接获取:
- 通过应用内监控:在应用代码中集成性能监控工具(如HiTraceMeter),主动检测主线程阻塞并记录堆栈信息。
- 使用DevEco Studio调试:在卡死时触发调试会话,通过IDE的Profiler或日志面板查看线程状态。
ANR日志会记录发生ANR时所有线程的堆栈信息,重点分析主线程(main)的堆栈,查找阻塞点(如锁竞争、耗时I/O、复杂计算等)。

