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

Ahm*_*med 1 macos cocoa

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

我期待支持10.5到10.8

Mic*_*ann 7

崩溃日志可以在许多地方找到.

在的MacOS 10.8(我相信也10.7)崩溃日志将是" ~/Library/Logs/DiagnosticReports"或" /Library/Logs/DiagnosticReports"(第一为崩溃用于用户的应用程序,第二个是用于全系统的应用程序).

现在,您可能需要考虑可以生成并向您返回崩溃报告的第三方替代方案,而不是"重新发明轮子". 维基百科列出了这些:

  • 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); 当前OS支持未知
  • plcrashreporter Plausible CrashReporter提供了一个进程内崩溃报告框架,可在iPhone和Mac OS X上使用
  • Google Breakpad,一个开源的多平台崩溃报告系统