嘿所有,我正在调试mac os 10.5上的C ++应用程序。偶尔,我会做一些不好的事情并导致段错或非法操作。这导致应用程序挂了一段时间,最终系统对话框通知我崩溃。 “挂起”和对话之间的等待时间很长;几分钟。如果我尝试强制退出应用程序或从命令行kill -9
没有任何反应。如果我从调试器(gdb)启动应用程序,在崩溃时我返回到gdb提示符并可以干净地退出该进程。虽然gdb的加载速度很慢,但这并不理想。
无论如何,你们可以推荐一些东西吗?有没有办法在OS X中禁用崩溃报告机制?
感谢。
更新1 : 这是从XCode执行中遗留下来的僵尸。显然xcode也无法正常停止。
1 eightieight@eightieights-MacBook-Pro:~$ ps auxw|grep -i Reader 2 eightieight 28639 0.0 0.0 599828 504 s004 R+ 2:54pm 0:00.00 grep -i reader 3 eightieight 28288 0.0 1.1 1049324 45032 ?? UEs 2:46pm 0:00.89 /Users/eightieight/workspace/spark/spark/reader/browser/build/Debug/Reader.app/Contents/MacOS/Reader 4 eightieight 28271 0.0 1.1 1049324 45036 ?? UEs 2:45pm 0:00.89 /Users/eightieight/workspace/spark/spark/reader/browser/build/Debug/Reader.app/Contents/MacOS/Reader 5 eightieight 28146 0.0 1.1 1049324 44996 ?? UEs 2:39pm 0:00.90 /Users/eightieight/workspace/spark/spark/reader/browser/build/Debug/Reader.app/Contents/MacOS/Reader 6 eightieight 27421 0.0 1.1 1049328 45024 ?? UEs 2:29pm 0:00.88 /Users/eightieight/workspace/spark/spark/reader/browser/build/Debug/Reader.app/Contents/MacOS/Reader 7 eightieight 27398 0.0 1.1 1049324 45044 ?? UEs 2:28pm 0:00.90 /Users/eightieight/workspace/spark/spark/reader/browser/build/Debug/Reader.app/Contents/MacOS/Reader
答案 0 :(得分:1)
XCode附带CrashReporterPrefs app(使用Spotlight搜索它;应该在/Developer/Applications/Utilities
中)。这可以设置为服务器模式以禁用应用程序“意外退出”对话框。
sudo chmod 000 /System/Library/CoreServices/Problem\ Reporter.app
要重新启用,请执行以下操作:
sudo chmod 755 /System/Library/CoreServices/Problem\ Reporter.app
可能是应用程序正在转储大型核心文件 - 您可能会注意到对可用磁盘空间的影响。您可以使用
关闭核心转储sudo sysctl -w kern.coredump=0
通过设置=1
重新启用。
答案 1 :(得分:1)
This article说你只需输入:
defaults write com.apple.CrashReporter DialogType none
在终端。不知道这是否会解决延迟问题。
答案 2 :(得分:1)
我终于明白了。
> / System / Library / CoreServices:---------- 1 root wheel 56752 11 Aug 2009 ReportPanic
这一定是我之前尝试禁用恼人的报告对话框的。活到老,学到老。 :