harmonyos-napi-debug

Installation
SKILL.md

ArkTS 与 C++ NAPI 混编调试

Source: https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/napi-faq-about-stability, https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/ide-hvigor-build-profile-app, https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/ide-hvigor-faqs

Purpose

当 ArkTS 层调用 NAPI 暴露的 C++ 接口时,调用链跨越两个运行时(ArkTS VM 与 Native),崩溃和异常往往出现在边界处。本技能提供跨边界排障的方法论:从 crash 堆栈判断崩溃归属(ArkTS 侧还是 C++ 侧)、追踪 NAPI 调用链、定位 threadsafe_function 死锁、排查 GC 与 napi_ref 泄漏。

When to Use

  • ArkTS 调用 NAPI 接口后应用 crash,需要快速判断是 ArkTS 传参问题还是 C++ 内存错误
  • 使用 napi_threadsafe_function 后出现死锁、ANR 或回调不触发
  • C++ Native 模块出现随机崩溃,怀疑与 GC 回收时机或跨线程对象生命周期相关
  • 内存持续上涨,排查 napi_ref 泄漏
  • 分析 crash 堆栈中的 native 帧归属(是 NAPI 框架帧还是业务 .so 帧)

Basic Usage

1. 崩溃归属快速判断

Installs
1
First Seen
Jun 19, 2026