目录

方舟运行时检测

方舟多线程检测

在JS运行时环境中,多线程的安全问题是一个重要的考虑因素。由于JavaScript主线程是单线程的,在主线程中创建的JS对象(尤其是DOM相关对象)只能在主线程上进行操作。如果违反了这一规则,就会导致多线程安全问题。针对该场景,DevEco Studio集成多线程检测能力,并通过FaultLog展示错误的堆栈详情及导致错误的代码行。关于多线程检测的原理请参考原理介绍。

开启多线程检测会有较大性能损耗,请开发者按需开启。

[h2]开启方舟多线程检测

可通过以下方式开启方舟多线程检测。

[h2]使用方舟多线程检测

  1. 运行或调试当前应用。
  2. 当程序出现多线程安全问题时,会弹出Crash log信息,点击信息中的链接即可跳转至引起多线程安全问题的代码处。关于多线程安全问题的分析方法请参考使用Node-API接口产生的异常日志/崩溃分析。

    如果是通过方式三调用setMultithreadingDetectionEnabled接口开启,发生多线程安全问题时,该接口支持应用崩溃和不崩溃两种场景。若设置为崩溃,则应用退出并生成cppcrash日志;若设置为不崩溃,应用不会退出,同时生成arktsenvsan日志,此时应用可通过hiAppEvent订阅地址越界事件来感知多线程安全问题,并生成hilog日志。

方舟native模块加载异常信息增强

在进行ArkTS项目开发中可能存在需要加载native模块的场景,开启方舟native模块加载异常信息增强功能后,可以丰富ArkTS项目中因加载native模块导致的报错信息,以便更准确地进行native问题定位。

[h2]开启方舟native模块加载异常信息增强

可以通过以下两种方式开启方舟native模块加载异常信息增强。

[h2]使用方舟native模块加载异常信息增强

  1. 运行或调试当前应用。
  2. 当程序出现因native模块加载导致的报错信息时,会显示更详细准确的错误信息。