iOS 崩溃符号化



我试图符号化报告的崩溃。我有所有必要的dsym,原始存档和几个未符号化的崩溃日志。我尝试使用 Xcode 提供的 symbolicatecrash 工具完全符号化崩溃日志,但它只是符号化我的应用程序中的符号:

Last Exception Backtrace:
0   CoreFoundation                  0x185b1fd38 0x1859de000 + 1318200
1   libobjc.A.dylib                 0x185034528 0x18502c000 + 34088
2   AVFoundation                    0x18b3d4208 0x18b31d000 + 750088
3   Shortcuts                       0x1004d47ec 
FlashlightManager.setBrightness(brightness:) + 378860 (FlashlightManager.swift:40)
4   Shortcuts                       0x1004af9a4 specialized FlashlightJavascriptExport.toggle() + 227748 (FlashlightJavascriptExport.swift:0)
5   CoreFoundation                  0x185b276a0 0x1859de000 + 1349280
6   CoreFoundation                  0x185a06820 0x1859de000 + 165920
7   JavaScriptCore                  0x18cb80d3c 0x18c41f000 + 7740732
8   JavaScriptCore                  0x18cb8048c 0x18c41f000 + 7738508
9   JavaScriptCore                  0x18cb80924 0x18c41f000 + 7739684

如您所见,FlashlightManagersetBrightness方法中的某些内容导致了问题。但是,我看不出这可能导致崩溃的方法:

func setBrightness(brightness: Float) throws {
    guard let avDevice = self.avDevice else {
        throw FlashlightManagerExceptions.noTorch
    }
    try avDevice.lockForConfiguration()
    if brightness > 0 {
        try avDevice.setTorchModeOn(level: brightness)
    } else {
        avDevice.torchMode = .off
    }
    currentBrightness = brightness
    avDevice.unlockForConfiguration()
}

由于崩溃报告没有给我更多细节,而且我在这种方法中没有看到任何明显的东西,因此我无法确定崩溃的原因。

有没有办法从CoreFoundationlibobjc.A.dylibAVFoundation符号化堆栈跟踪的其他部分,以便我可以获得有关此崩溃的更多信息?

事实证明,我在本地没有iOS 11.0.3的系统框架符号,因此symbolicatecrash无法符号化系统框架符号。

通过参考这个问题的答案,我能够看到我没有必要的符号:Atos没有正确符号化系统框架/库

一旦我在设备上安装了iOS 11.0.3

并将设备连接到Xcode,iOS 11.0.3的符号就会自动下载,symbolicatecrash开始处理整个崩溃日志。

最新更新