KKMonitor

分组

了解 Measure 如何将类似的错误分组到一个问题中。

类似的错误被分组为一个问题。每个组都会显示其贡献百分比,因此您可以一目了然地了解首先要解决的问题。

分组规则取决于平台。

Android

错误按异常类型和 stack trace 顶部 frame 进行分组。

  • 异常类型: java.lang.NullPointerException
  • 顶部 frameMainActivity.kt 中的 onCreate
java.lang.NullPointerException: Attempt to invoke virtual method 'void com.example.app.MainActivity.onCreate(android.os.Bundle)' on a null object reference
    at com.example.app.MainActivity.onCreate(MainActivity.kt:10)
    at android.app.Activity.performCreate(Activity.java:8000)
    ...

iOS

错误按 signal 和属于您应用的第一个 stack frame 进行分组。stack trace 顶部的操作系统和 framework frame(例如 CoreFoundationlibobjc)会被跳过,因为可修复的代码位于您自己的二进制文件中。

  • SignalSIGABRT
  • 应用的第一个 frameMainViewController.m 中的 -viewDidLoad
Exception Type: EXC_CRASH (SIGABRT)
Exception Codes: 0x0000000000000000, 0x0000000000000000
Crashed Thread: 0

Application Specific Information:
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[MainViewController viewDidLoad]: unrecognized selector sent to instance 0x600000e2c0c0'

First Throw Call Stack:
(
    0   CoreFoundation                      0x000000010a2f3b6c __exceptionPreprocess + 220
    1   libobjc.A.dylib                     0x0000000109d8e5e1 objc_exception_throw + 48
    2   MainViewController.m                0x000000010a2f3b6c -[MainViewController viewDidLoad] + 0
    ...
)

On this page