崩溃报告
- 描述了App如何终止,并记录崩溃时每个线程上运行的代码和
完整回溯
。 - 发布App之前本地保留符号表,然后通过
符号表
将十六进制地址转换为应用的符号名称。
Jetsam报告
- 当OS内存不足,并且需要的内存多于当前可用内存时,操作系统终止App以回收它们的内存。
- 这时候产生Jetsam报告,不包含App执行线程的堆栈跟踪,包含
内存使用情况
。
设备控制台(console)日志
OS和App
发生的操作的详细记录, 只保存在内存
中。- 某些
系统层面的问题
(例如安装App时出现问题)使用Console查看OS日志来诊断。 - 可以将App的日志添加到OS的日志中。主要用于调试Extension。
请勿在日志中包含隐私敏感信息。
如何获取崩溃报告
从本地隐私设置中导出
当本机发生崩溃的时候,你可以从系统设置->隐私->分析与改进
里面找到你当时的崩溃日志,通常,你的崩溃日志格式包含程序包名,时间以及后缀ips或者beta, 点击进去,右上角点击分享可以各种方式分享出去
获取设备
崩溃信息
Windows -> Device And Simulator
获取与 Mac 连接的设备
的崩溃信息
Crashes organizer获取线上崩溃
Windows -> Organizer
使用 Xcode 中的Crashes organizer获取客户报告的
App存在问题
从TestFlight和App Store收集崩溃报告
TestFlight 和 App Store 会收集您提交的每个应用版本的崩溃报告。
如果您在向 App Store 提交内部版本时包含符号信息,则崩溃报告会自动包含可识别的符号信息。
代码中捕获异常并进行存储上报
可借助三方工具或者自研,常见三方工具包括Bugly、友盟、KSCrash、PLCrashReporter等。