You need to enable JavaScript to run this app.
导航

崩溃无法捕获

最近更新时间2024.01.08 14:53:28

首次发布时间2024.01.08 14:53:28

前提条件
首先请确保崩溃监控已初始化成功。
可能的原因

  • 在Release环境下才能捕获到crash,Debug环境下调试器会优先捕获Crash。
  • 平台上查看的时间段不对,请选择最近的一段时间。
  • (概率极大)其他崩溃监控把parfait崩溃监控顶替了。
  • Windows:
    • abort、invalid parameter、purecall异常需要可执行文件和parfait sdk都为/md版本才能捕获。
  • Mac:
    • 1.3.6.0前不支持macos沙盒应用的崩溃监控。
    • 无法捕获纯x64架构应用在m1机器上运行时发生的异常。
  • Electron:
    • 请禁用Electron自带的Crash reporter。
    • win64下,v8自行注册了异常处理器,parfait crash监控无法捕获JIT编译代码的异常。
  • UE4:
    • 请禁用UE4自带的Crash reporter。
    • MacOS下会UE会自行注册CrashHandler注册Signal Handler,拦截崩溃,可在初始化Parfait崩溃监控前调用如下代码,恢复Singal Handler为系统默认Signal Handler。
      void restore_signal_handler() {
       signal(SIGQUIT, SIG_DFL); // SIGQUIT is a user-initiated "crash".
       signal(SIGILL, SIG_DFL);
       signal(SIGEMT, SIG_DFL);
       signal(SIGFPE, SIG_DFL);
       signal(SIGBUS, SIG_DFL);
       signal(SIGSEGV, SIG_DFL);
       signal(SIGSYS, SIG_DFL);
       signal(SIGABRT, SIG_DFL);
      }