Можно ли запретить «Приложение неожиданно завершает работу» в Mac OS X? - PullRequest
1 голос
/ 16 июля 2010

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

Например, в Windows я обрабатываю диалог GPF следующим образом:

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

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

Спасибо.

1 Ответ

2 голосов
/ 16 июля 2010

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

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

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

...