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