iphone - 获取 iPhone 上之前的运行、崩溃日志

标签 iphone xcode crash logging

我试图编写一个崩溃报告功能,当您在崩溃后启动应用程序时,它会向服务器发送崩溃报告。我找不到如何获取应用程序内的崩溃日志。我看到有一个框架可以这样做( PLCrashReporter ),但是这个框架很大,我不需要它的大部分功能。

有人知道如何简单地访问日志吗?

谢谢, 盖伊。

最佳答案

我想我没有能力对 Nimrod Gat 的答案添加评论,所以我必须在这里提供我的后续内容。我会尽力让它成为一个独立的答案。

编写一个安全、正确且可靠的崩溃报告器是非常非常困难的,尤其是直接在进程内运行的崩溃报告器。 Nimrod Gat 的答案中引用的代码不正确,老实说,该博客文章应该被撤回。信号处理程序必须只运行异步安全代码,而该代码不是异步安全的:

http://www.cocoadev.com/index.pl?SignalSafety

崩溃处理比正常信号处理更复杂,因为您不能指望该进程在信号处理程序返回后继续成功运行。

人们很容易认为可以拼凑出一个更简单的解决方案,并且有时会起作用,但像 Google 工程师这样的人拥有数千个 LoC 专门用于可靠的崩溃报告,这是有充分理由的:

http://code.google.com/p/google-breakpad/

在 iOS 上,您应该只使用 PLCrashReporter。在其他平台(例如 Mac OS X)上,您应该使用 Google Breakpad。重新发明这个轮子是没有意义的,除非你不仅要做得正确,而且要做得比现有的更好。

关于iphone - 获取 iPhone 上之前的运行、崩溃日志,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4737701/

相关文章:

iphone - 通过iTunes在iPhone上安装应用程序时出现错误0xE803FFE

iphone - 在 UITableViewController 中的通知中心添加观察者的位置

xcode - 将调试输出从 XCode 4 控制台重定向到日志文件

C 程序在 For 循环中崩溃

ios - 调试时应用程序不会崩溃

android - 当 >= 65[FPS] 时,camera2 API 帧跳过并崩溃

iphone - 垂直 UISlider 和 UISwitch

ios - UIImage 与 CGImage 的 Swift 等价物?

xcode - 如何使用 CGImageRef 图像在 NSView 中显示图像

iphone - BackgroundView 不适应 Grouped UITableView 中的圆角