ios - 什么原因信息可以很容易地收集到 iOS 信号处理程序中?

标签 ios signals error-logging

我正在尝试向应用程序添加一些崩溃日志记录,并且我设置了一个 signal 处理程序来捕获标准的“致命”信号。我实际上/简单地可以在信号处理程序中收集什么“原因”信息(如果有的话)以进行记录?

(我花了大约 2 个小时在谷歌上搜索东西,但我发现的大部分内容都是针对其他环境的,而且太复杂而不可靠。我正在寻找简单易行的方法,特别是在 iOS 环境中。)

(我已经有一个 Objective-C 异常处理程序来捕获 Objective-C 异常。)

最佳答案

请不要这样做。正如兰登·富勒 (Landon Fuller) 在此处强调的那样,进行正确和安全的崩溃报告非常困难:http://landonf.bikemonkey.org/code/objc/Reliable_Crash_Reporting.20110912.html

简而言之:您只能在应用程序崩溃时使用异步安全代码,因此默认情况下调用任何 Objective-C 方法都是不安全的!

而是使用现有的崩溃报告库,如 PLCrashReporter 或其他一些已经存在的库或服务:https://code.google.com/p/plcrashreporter/

关于ios - 什么原因信息可以很容易地收集到 iOS 信号处理程序中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14325019/

相关文章:

python - 使用python在debian中的错误日志

DotNetNuke 和错误日志记录

c++ - 如何在 c++ 中获取有关崩溃程序的一些信息以供将来调试

ios - 不在 set updateConstraints 中时,UIStackView 间距会打破约束

iphone - Objective C : UIButton, UIBarButtonItem, UIBarButtonItemStyle, UIBarButtonSystemItem

ios - 自定义字体没有显示 spritekit?

c - 如何在不使用 SIGWAIT 的情况下阻止线程中的所有信号?

unix - 您可以从信号处理程序中调用 signal() 吗?

c - 如何让Ctrl-c结束程序

ios - SSL - 在 iOS7 中表现不同?