文档管理中心
我的
您当前正在浏览新版开发者文档中心,目录分类和层级有所调整。点击左侧当前文档分类名称前的“☰”图标,可切换文档分类。 了解新版目录
问题处理与运维开发与测试问题应用质量技术质量运维如何实现crash堆栈抓取、crash回调

如何实现crash堆栈抓取、crash回调

可以使用FaultLogger.query()获取故障日志,该方法可以捕获 C++ 程序故障、JS 程序故障和应用程序卡死故障。通过此方法,可以获取故障进程的进程 ID、故障进程的用户 ID、故障类型、日志生成时的秒级时间戳、故障原因、故障模块、故障摘要和故障日志全文。请参考以下示例代码:

收起
自动换行
深色代码主题
复制
  1. import { FaultLogger } from '@kit.PerformanceAnalysisKit';
  2. import { BusinessError } from '@kit.BasicServicesKit'
  3. async function getLog() {
  4. try {
  5. let value: Array<FaultLogger.FaultLogInfo> = await FaultLogger.query(FaultLogger.FaultType.JS_CRASH);
  6. if (value) {
  7. console.info("value length is " + value.length);
  8. let len: number = value.length;
  9. for (let i = 0; i < len; i++) {
  10. console.info("log: " + i);
  11. console.info("Log pid: " + value[i].pid);
  12. console.info("Log uid: " + value[i].uid);
  13. console.info("Log type: " + value[i].type);
  14. console.info("Log timestamp: " + value[i].timestamp);
  15. console.info("Log reason: " + value[i].reason);
  16. console.info("Log module: " + value[i].module);
  17. console.info("Log summary: " + value[i].summary);
  18. console.info("Log text: " + value[i].fullLog);
  19. }
  20. }
  21. } catch (err) {
  22. console.error(`code: ${(err as BusinessError).code}, message: ${(err as BusinessError).message}`);
  23. }
  24. }

参考链接

@ohos.faultLogger (故障日志获取)