如果cocoa app崩溃了堆栈跟踪/崩溃日志存储在哪里?

时间:2013-07-11 09:22:02

标签: macos cocoa

我是mac和cocoa开发的新手。当cocoa应用程序崩溃时,会有一个窗口要求用户向苹果报告崩溃日志。我想写一个自定义的报告组件。所以我想知道崩溃报告/日志是否自动存储在某些地方是这些简单的文本文件还是核心转储?

我希望支持10.5到10.8

1 个答案:

答案 0 :(得分:6)

崩溃日志可以在很多地方找到。

在MacOS 10.8(我相信也是10.7)中,崩溃日志将是“~/Library/Logs/DiagnosticReports”或“/Library/Logs/DiagnosticReports”(第一个用于用户应用程序崩溃,第二个用于系统级应用程序)。

现在,您可能需要考虑可以生成并向您返回崩溃报告的第三方替代方案,而不是“重新发明轮子”。 Wikipedia lists these

  • Unsanity开发了一个名为Smart Crash Reports的输入管理器 补丁Apple软件包括“提交给开发人员”按钮 在Crash Reporter中。 Smart Crash Reports仅适用于Mac OS X 10.4和10.5。
  • Uli Kusterer写了UKCrashReporter,可以在下次将Apple的Crash Reporter的输出发送给开发人员 申请已经开始。
  • CMCrashReporter是一个小型的开源框架,它可以将崩溃日志发送给开发人员(通过HTTP POST)并让用户 输入可选的详细信息。
  • ILCrashReporter-NG,Infinite Loop的ILCrashReporter的分支(适用于Mac OS X 10.2-10.5);当前操作系统支持未知
  • plcrashreporter合理的CrashReporter提供进程内崩溃报告 适用于iPhone和Mac OS X的框架
  • Google Breakpad,一个开源的多平台崩溃报告系统