牛骨文教育服务平台(让学习变的简单)

Mac OS X:禁止崩溃报告

 

崩溃报告就是CrashReport

至于官方的有关CrashReport的文档在Technical Note TN212.

 

一般的默认情况下,当一个应用程序因为各种原因出现系统错误而退出的时候,Mac OS X会捕捉这个错误,并出现下面类似的提示窗口,提示用户该程序出错。如下图:

 

DEFAULT CRASH REPORT

 

用户可以有三个选择,

  • Ignore就是忽略该错误并退出该程序,
  • Report...可以将错误的详细报告内容提交给Apple.
  • Relaunch用户可以选择重新启动该应用程序。

 

有两层意义的禁止:

  1. 不出现该提示,直接默认Ignore,但是在系统日志中记录错误内容.

  2. 根本就不启动崩溃报告服务

 

1: 禁止提示:

 

第一个需要说到一个包含在开发包中的一个实用工具程序,叫CrashReporterPrefs.app, 位于/Developer/Applications/Utilities/目录中。

它可以设置三个报告级别, 如下图:

 

Crash Reporter Preferences

 

Basic: 就是默认的方式.

Developer: 这个方式会反馈详细的有利于程序员排错的系统信息。

Server: 这个就是我们所要的.

 

如果没有安装开发包,可以实用终端命令:

defaults write com.apple.CrashReporter DialogType "basic"defaults write com.apple.CrashReporter DialogType "developer"defaults write com.apple.CrashReporter DialogType "server"

分别对应上面的三个级别。

  1. 禁止崩溃报告服务

运行下面的终端命令就可以卸载崩溃报告服务。

sudo launchctl unload -w /System/Library/LaunchDaemons/com.apple.ReportCrash.plist

而如果要在每次启动时都禁止,使用下面命令。

sudo defaults write /System/Library/LaunchDaemons/com.apple.ReportCrash Disabled truesudo defaults write /System/Library/LaunchDaemons/com.apple.ReportCrash.SafetyNet Disabled true