Отладка и уничтожение приложений на Mac OS X?

Эй все, я нахожусь в процессе отладки приложения C++ на Mac OS 10.5. Иногда, я сделаю что-то плохо и вызову segfault или в других отношениях недопустимую операцию. Это приводит к приложению, зависающему некоторое время и в конечном счете системному диалоговому окну уведомление меня катастрофического отказа. Время ожидания между "подвешиванием" и диалоговым окном является значительным; несколько минут. Если я пытаюсь вызвать выход приложение или 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
5
задан EightyEight 25 February 2010 в 22:57
поделиться

3 ответа

Есть приложение CrashReporterPrefs , которое поставляется с XCode (ищите его с помощью 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

Reactivate, установив = 1 .

1
ответ дан 15 December 2019 в 06:25
поделиться

В этой статье с osxdaily.com говорится, что вам просто нужно ввести:

defaults write com.apple.CrashReporter DialogType none

в терминале. Однако не знаю, устранит ли это задержку.

1
ответ дан 15 December 2019 в 06:25
поделиться

Я наконец понял это.

в / System / Library / CoreServices:

----------    1 root  wheel    56752 11 Aug  2009 ReportPanic

Это должно было быть связано с моими предыдущими попытками отключить надоедливый диалог отчета. Живи и учись. :]

1
ответ дан 15 December 2019 в 06:25
поделиться
Другие вопросы по тегам:

Похожие вопросы: