我已经实现了一个使用PLCrashReporter作为崩溃处理方法的应用程序。 ,它检索一个报告,可以切换到人们可读的格式。使用来自PLCrashReport的完整数据
Incident Identifier: E125648C-6BCF-4F69-9950-C8CDFB0535D3
CrashReporter Key: e681450ca18f97638adb5f7295a4af24103b92ae
Hardware Model: iPad5,4
Process: CrashReport [6918]
Path: /private/var/mobile/Containers/Bundle/Application/FA6CA909-C229-457F-9EF0-35B889481B63/CrashReport.app/CrashReport
Identifier: net.example.CrashReport
Version: 1 (1.0)
Code Type: ARM-64 (Native)
Parent Process: launchd [1]
Date/Time: 2016-05-15 16:40:51.199 +0430
Launch Time: 2016-05-15 16:40:44.122 +0430
OS Version: iOS 8.4.1 (12H321)
Report Version: 105
Exception Type: EXC_CRASH (SIGTRAP)
Exception Codes: 0x0000000000000000, 0x0000000000000000
Triggered by Thread: 1
Thread 0 name: Dispatch queue: com.apple.main-thread
Thread 0:
0 CrashReport 0x00000001000663a4 0x100060000 + 25508
1 CrashReport 0x00000001000662ac 0x100060000 + 25260
2 CrashReport 0x0000000100066304 0x100060000 + 25348
3 UIKit 0x0000000187b411e8 0x187afc000 + 283112
有关程序和硬件模型中的所有细节,但没有线或类的名字!
我搜查了很多,并找出我必须使用符号过程。
- 一些告知使用.dSYM,但应用程序还没有在苹果商店
- 一些其他的解决办法是用report.crash和类似的东西,工作,但我无法找到这个文件我应用
- 我想要的代码行从应用程序发送,而不是在Xcode或一些其他的工具
最终处理: 我需要一些代码,以PLCrashReport提取行号和功能,请使用Swift。我不是很擅长目的C.
感谢
谢谢你帮助我们更清楚地了解符号。还有一个问题。我应该使用二进制文件还是应该将其更改为人类可读的格式并将其保存为文本文件?哪一个是符号工具所需要的? –
我提到的符号化脚本只能理解文本格式,而不是二进制格式 – Kerni