Mac OS X:禁止崩溃报告
崩溃报告就是CrashReport
至于官方的有关CrashReport的文档在Technical Note TN212 .
一般的默认情况下,当一个应用程序因为各种原因出现系统错误而退出的时候,Mac OS X会捕捉这个错误,并出现下面类似的提示窗口,提示用户该程序出错。如下图:
用户可以有三个选择,
Ignore就是忽略该错误并退出该程序,
Report…可以将错误的详细报告内容提交给Apple.
Relaunch用户可以选择重新启动该应用程序。
有两层意义的禁止:
1. 不出现该提示,直接默认Ignore,但是在系统日志中记录错误内容.
2. 根本就不启动崩溃报告服务
1: 禁止提示:
第一个需要说到一个包含在开发包中的一个实用工具程序,叫CrashReporterPrefs.app, 位于/Developer/Applications/Utilities/目录中。
它可以设置三个报告级别, 如下图:
Basic: 就是默认的方式.
Developer: 这个方式会反馈详细的有利于程序员排错的系统信息。
Server: 这个就是我们所要的.
如果没有安装开发包,可以实用终端命令:
defaults write com.apple.CrashReporter DialogType "basic"
defaults write com.apple.CrashReporter DialogType "developer"
defaults write com.apple.CrashReporter DialogType "server"
分别对应上面的三个级别。
2. 禁止崩溃报告服务
运行下面的终端命令就可以卸载崩溃报告服务。
sudo launchctl unload -w /System/Library/LaunchDaemons/com.apple.ReportCrash.plist
而如果要在每次启动时都禁止,使用下面命令。
sudo defaults write /System/Library/LaunchDaemons/com.apple.ReportCrash Disabled true
sudo defaults write /System/Library/LaunchDaemons/com.apple.ReportCrash.SafetyNet Disabled true