Действительно ли возможно запретить “Выход приложения, неожиданно диалоговый” на Mac OS X?

У меня есть установка тестирования, которая запускает Приложение на OS X с переменным набором параметров, если/когда катастрофические отказы программы это повторно запускается и продолжается от того, где это кончило. Однако, когда Сбои приложения, OS X неожиданно повышает “Выход приложения” диалоговое окно, я избежал бы этого, поскольку это создает помехи машине. Существует ли способ запретить этому диалоговому окну открытие, не изменяя источник Приложения? Если это имеет какую-либо справку в затачивании решений, установка сценариев записана в Python.

Как пример, в Windows I обрабатывают диалоговое окно GPF как это:

SEM_NOGPFAULTERRORBOX = 0x0002
ctypes.windll.kernel32.SetErrorMode(SEM_NOGPFAULTERRORBOX);

Идеально было бы что-то подобное, которое я мог использовать на OS X.

Спасибо.

1
задан nfg 16 July 2010 в 11:06
поделиться

1 ответ

При установке инструментов разработчика (Xcode и т.д.) вы получаете инструмент под названием CrashReporterPrefs. По сути, это интерфейс к некоторому plist-файлу, который устанавливает глобально, как вы хотите обрабатывать сбои. Возможно, это не совсем то, что вы ищете, но если вы контролируете среду развертывания, это может помочь.

Должны быть и другие варианты, потому что продукты Google, например Sketchup, переопределяют обработчик по умолчанию и устанавливают свой собственный регистратор аварий. Я предполагаю, что они регистрируют обработчики сигналов для SIGBUS, SIGSEGV и т. д. (см. man 2 sigaction) и каким-то образом маскируют крах от MacOSX... но я тут рассуждаю.

Я позволю другим задать вопрос о том, почему вы не можете исправить крах вместо этого :-)

.
2
ответ дан 2 September 2019 в 23:01
поделиться
Другие вопросы по тегам:

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