使用faultLogger.querySelfFaultLog实现crash堆栈的抓取

使用faultLogger.querySelfFaultLog实现crash堆栈的抓取

HarmonyOS
2024-07-31 10:09:50
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
davis_li

通过调用`faultLogger.querySelfFaultLog`接口,用户能够检索故障日志信息。此接口支持捕获C++程序故障、JS程序故障类型,以及应用程序卡死等故障情况。查询结果将包含分析故障所需的详细数据,如故障进程的进程ID、故障进程的用户ID、具体的故障类型、日志生成时的秒级时间戳、故障发生的原因分析、故障涉及的模块、故障的概要描述,以及完整的故障日志内容。以下为示例代码的参考实现:

import { FaultLogger } from '@kit.PerformanceAnalysisKit';
import { BusinessError } from '@kit.BasicServicesKit'

async function getLog() {
  try {
    let value: Array<FaultLogger.FaultLogInfo> = await FaultLogger.query(FaultLogger.FaultType.JS_CRASH);
    if (value) {
      console.info("value length is " + value.length);
      let len: number = value.length;
      for (let i = 0; i < len; i++) {
        console.info("log: " + i);
        console.info("Log pid: " + value[i].pid);
        console.info("Log uid: " + value[i].uid);
        console.info("Log type: " + value[i].type);
        console.info("Log timestamp: " + value[i].timestamp);
        console.info("Log reason: " + value[i].reason);
        console.info("Log module: " + value[i].module);
        console.info("Log summary: " + value[i].summary);
        console.info("Log text: " + value[i].fullLog);
      }
    }
  } catch (err) {
    console.error(`code: ${(err as BusinessError).code}, message: ${(err as BusinessError).message}`);
  }
}
分享
微博
QQ
微信
回复
2024-07-31 17:59:14
相关问题
如何实现crash堆栈抓取crash回调
3070浏览 • 1回复 待解决
HarmonyOS taskpool使用crash
2754浏览 • 2回复 待解决
faultLogger故障日志获取
2372浏览 • 1回复 待解决
HarmonyOS 抓取日志是乱码
700浏览 • 1回复 待解决
HarmonyOS faultLogger.query接口增加参数
747浏览 • 1回复 待解决
HarmonyOS 使用全局 @Builder 应用 crash
1148浏览 • 1回复 待解决
HarmonyOS 应用如何抓取trace
1078浏览 • 1回复 待解决
HarmonyOS 异常堆栈获取
1107浏览 • 1回复 待解决
如何保存faultLogger ,有人知道吗?
1759浏览 • 1回复 待解决
HarmonyOS 获取堆栈问题
614浏览 • 1回复 待解决
编译报错没有堆栈信息
1783浏览 • 1回复 待解决
HarmonyOS 如何获取堆栈信息
1034浏览 • 1回复 待解决
抓取http请求包代理配置添加
1810浏览 • 1回复 待解决
用hdc hilog 可以抓取日志命令是什么
5807浏览 • 1回复 待解决
HarmonyOS cppCrash都是系统堆栈如何分析
1285浏览 • 1回复 待解决
如何通过HDC获取界面访问堆栈
1548浏览 • 1回复 待解决