崩溃事件介绍
概述
崩溃是指应用进程非预期退出。以下两种场景会生成崩溃事件:
- Native代码未处理崩溃异常信号时,会生成崩溃事件。
- Js/ArkTS代码未处理异常时,会生成崩溃事件。
本文面向开发者介绍崩溃事件各字段的含义及规格。如需了解如何使用HiAppEvent接口订阅系统崩溃事件,请参考以下文档。目前提供ArkTs和C/C++两种接口,按需选择。
事件字段说明
params字段说明
崩溃事件信息中params属性的详细描述如下:
名称 |
类型 |
说明 |
time |
number |
事件触发时间,单位为毫秒。 |
crash_type |
string |
崩溃类型。支持NativeCrash(native代码异常)和JsError(js代码异常)两种崩溃类型。问题分析请分别参考CppCrash分析指南和JSCrash分析指南。 |
foreground |
boolean |
应用是否处于前台状态。true表示应用处于前台状态;false表示应用处于后台状态。 |
bundle_version |
string |
应用版本。 |
bundle_name |
string |
应用名称。 |
pid |
number |
应用的进程ID。 |
uid |
number |
应用的用户ID。 |
uuid |
string |
根据故障信息生成的故障特征码,用于标识特征相同的崩溃故障。 |
exception |
object |
异常信息, 详见exception字段说明。包含故障简要信息,全量故障信息见external_log文件。 |
hilog |
string[] |
日志信息,最多显示100行hilog日志。更多日志请查看故障日志文件。 |
threads |
object[] |
全量线程调用栈,详见thread字段说明。仅NativeCrash类型的崩溃事件提供。 |
external_log12+ |
string[] |
故障日志文件路径。为避免目录空间超限导致新生成的日志文件写入失败,日志文件处理完后请及时删除,超限规格请参考log_over_limit字段。 |
log_over_limit12+ |
boolean |
生成的故障日志文件与已存在的日志文件总大小是否超过5MB上限。true表示超过上限,日志写入失败;false表示未超过上限。 |
exception字段说明
JsError类型exception字段说明
名称 |
类型 |
说明 |
name |
string |
异常类型。 |
message |
string |
异常原因。 |
stack |
string |
异常调用栈。 |
NativeCrash类型exception字段说明
名称 |
类型 |
说明 |
message |
string |
异常原因。 |
signal |
object |
信号信息,详见signal字段说明。 |
thread_name |
string |
线程名称。 |
tid |
number |
线程ID。 |
frames |
object[] |
线程调用栈,详见frame字段说明。 |
signal字段说明
信号详细介绍请参考CppCrash分析指南崩溃信号说明。
名称 |
类型 |
说明 |
signo |
number |
信号值。 |
code |
number |
信号二级分类。 |
address |
string |
访问出错的地址。 |
thread字段说明
名称 |
类型 |
说明 |
thread_name |
string |
线程名称。 |
tid |
number |
线程ID。 |
frames |
object[] |
线程调用栈,详见frame字段说明。 |
frame字段说明
Native帧frame字段说明
名称 |
类型 |
说明 |
file |
string |
文件名称。也可能是匿名内存映射,例如 [heap]、[stack] 等。 |
symbol |
string |
函数名称。名称长度超过256字节时将被删除,防止超长字符串引起未知问题。 |
buildId |
string |
文件唯一标识。文件可能没有buildId,请参考CppCrash分析指南崩溃日志内容说明。 |
pc |
string |
在文件内的偏移字节数。 |
offset |
number |
在函数内偏移字节数。 |
Js帧frame字段说明
名称 |
类型 |
说明 |
file |
string |
文件名。 |
packageName |
string |
模块包名。 |
symbol |
string |
函数名。 |
line |
number |
异常所在代码行号。 |
column |
number |
异常所在代码列号。 |
你可能感兴趣的鸿蒙文章
harmony 鸿蒙Performance Analysis Kit(性能分析服务)
harmony 鸿蒙分析AppFreeze(应用无响应)
harmony 鸿蒙应用恢复开发指导
harmony 鸿蒙分析CppCrash(进程崩溃)
harmony 鸿蒙错误管理开发指导
harmony 鸿蒙hdc
harmony 鸿蒙事件上报
harmony 鸿蒙HiAppEvent介绍
harmony 鸿蒙订阅踩内存事件(ArkTS)
harmony 鸿蒙订阅踩内存事件(C/C++)