• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# 故障日志获取
2
3### 介绍
4
5本示例使用了[@ohos.hiviewdfx.hiAppEvent](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/reference/apis-performance-analysis-kit/js-apis-hiviewdfx-hiappevent.md)接口,展示了在eTS中如何获取应用故障相关信息。
6
7### 效果预览
8|首页|
9|--------|
10![home](screenshots/devices/home.png)
11
12使用说明:
131. 启动应用后,点击**构造异常**按钮,在弹窗中选择故障类型,点击确定可以构造异常场景;
142. 构造异常场景后,重新启动应用,点击下面不同的获取异常按钮可以获取到对应类型的异常日志并显示在页面文本框中。
15
16### 工程目录
17```
18entry/src/main/ets/
19|---common
20|   |---FaultDialog.ets                    // 异常构造弹窗
21|   |---PreferencesManager.ets             // 首选项工具类
22|   |---TitleBar.ets                       // title
23|---model
24|   |---Logger                             // 日志工具
25|---pages
26|   |---Index.ets                          // 首页
27```
28
29### 具体实现
30+ 创造应用故障场景,故障类型枚举值参考[FaultType](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/reference/apis-performance-analysis-kit/js-apis-hiviewdfx-hiappevent.md#hiappeventevent),源码参考[FaultDialog.ets](entry/src/main/ets/common/FaultDialog.ets):
31    + js_crash故障:通过数组访问越界构造;
32    + cpp_crash故障:通过调用空指针NAPI接口构造;
33    + freeze_crash故障:通过代码产生死循环构造;
34+ 获取上述异常故障日志,源码参考[Index.ets](entry/src/main/ets/pages/Index.ets):
35    + 获取异常故障日志:使用hiAppEvent.addWatcher接口获取异常日志信息。
36
37### 相关权限
38
39不涉及。
40
41### 依赖
42
43不涉及。
44
45### 约束与限制
46
471. 本示例仅支持标准系统上运行,支持设备:RK3568;
48
492. 本示例已适配API version 12版本SDK,版本号:5.0.0.71;
50
513. 本示例需要使用DevEco Studio 4.1.3.700 (Build Version: 4.1.3.700 构建 2024年3月19日)及以上版本才可编译运行。
52
53### 下载
54如需单独下载本工程,执行如下命令:
55```
56git init
57git config core.sparsecheckout true
58echo code/BasicFeature/DFX/FaultLogger/ > .git/info/sparse-checkout
59git remote add origin https://gitee.com/openharmony/applications_app_samples.git
60git pull origin master
61```