1# 崩溃事件介绍 2 3HiAppEvent提供接口用于订阅系统崩溃事件。 4 5- [订阅崩溃事件(ArkTS)](hiappevent-watcher-crash-events-arkts.md) 6- [订阅崩溃事件(C/C++)](hiappevent-watcher-crash-events-ndk.md) 7 8崩溃事件信息中params属性的详细描述如下: 9 10**params属性:** 11 12| 名称 | 类型 | 说明 | 13| ------- | ------ | ------------------------- | 14| time | number | 事件触发时间,单位为毫秒。 | 15| crash_type | string | 崩溃类型。支持JsError和NativeCrash两种崩溃类型。 | 16| foreground | boolean | 应用是否处于前台状态。 | 17| bundle_version | string | 应用版本。 | 18| bundle_name | string | 应用名称。 | 19| pid | number | 应用的进程id。| 20| uid | number | 应用的用户id。 | 21| uuid | string | 故障id。 | 22| exception | object | 异常信息,详见exception属性。NativeCrash类型的崩溃事件详见exception属性(NativeCrash类型)。exception只包含故障简要信息,具体的故障定位信息见external_log文件。 | 23| hilog | string[] | 日志信息,最多显示100行hilog日志,更多hilog日志通过故障日志文件获取。| 24| threads | object[] | 全量线程调用栈,详见thread属性。仅NativeCrash类型的崩溃事件提供。 | 25| external_log<sup>12+</sup> | string[] | 故障日志文件路径。故障日志文件包括CPPCRASH,JSERROR。开发者可通过该路径下的文件,完成[CPPCRASH问题分析](cppcrash-guidelines.md)及[JSERROR问题分析](jscrash-guidelines.md)。**为避免目录空间超限(限制参考log_over_limit),导致新生成的日志文件写入失败,日志文件处理完后请及时删除。** | 26| log_over_limit<sup>12+</sup> | boolean | 生成的故障日志文件与已存在的日志文件总大小是否超过5M上限。true表示超过上限,日志写入失败;false表示未超过上限。 | 27 28**exception属性:** 29 30| 名称 | 类型 | 说明 | 31| ------- | ------ | ------------------------- | 32| name | string | 异常类型。 | 33| message | string | 异常原因。 | 34| stack | string | 异常调用栈。 | 35 36**exception属性(NativeCrash类型):** 37 38| 名称 | 类型 | 说明 | 39| ------- | ------ | ------------------------- | 40| message | string | 异常原因。 | 41| signal | object | 信号信息,详见signal属性。 | 42| thread_name | string | 线程名。 | 43| tid | number | 线程id。 | 44| frames | object[] | 线程调用栈,详见frame属性。 | 45 46**signal属性:** 47 48| 名称 | 类型 | 说明 | 49| ------- | ------ | ------------------------- | 50| signo | number | 信号值(siginfo_t中的si_signo属性) | 51| code | number | 信号值二级分类(siginfo_t中的si_code属性) | 52| address | string | 信号错误地址(siginfo_t中的si_address属性) | 53 54[信号值&信号值二级分类详解](cppcrash-guidelines.md) 55 56**thread属性:** 57 58| 名称 | 类型 | 说明 | 59| ------- | ------ | ------------------------- | 60| thread_name | string | 线程名。 | 61| tid | number | 线程id。 | 62| frames | object[] | 线程调用栈,详见frame属性。 | 63 64**frame属性(C/C++帧):** 65 66| 名称 | 类型 | 说明 | 67| ------- | ------ | ------------------------- | 68| file | string | 文件名。 | 69| symbol | string | 函数名称。 | 70| buildId | string | 文件唯一标识。 | 71| pc | string | pc寄存器地址。 | 72| offset | number | 函数偏移量。 | 73 74**frame属性(JS帧):** 75 76| 名称 | 类型 | 说明 | 77| ------- | ------ | ------------------------- | 78| file | string | 文件名。 | 79| symbol | string | 函数名称。 | 80| column | number | 异常所在行。 | 81| line | number | 异常所在列。 | 82