Xcode: GDB и обработчики сигналов - PullRequest
5 голосов
/ 17 сентября 2011

Я использую обработчики сигналов в приложении Objective C для обнаружения фатальных ошибок, таких как SIGSEGV, SIGBUS и т. П.

Когда появляется такой сигнал, я пишу файл журнала с обратным следом и подробностями об ошибке (я знаю, что у меня могут быть проблемы с повторным входом, но это не главное).

Таким образом, при следующем запуске я могу узнать, что приложение упало, и я могу спросить пользователя, хочет ли он заполнить отчет об ошибке.

Работает нормально, когда я запускаю приложение вручную.

Но когда я запускаю его из Xcode (с GDB), обработчики сигналов не вызываются.

Я пытаюсь установить их с помощью signal или sigaction, но нет никакой разницы.

Я также проверил с помощью info signals, что эти сигналы установлены на pass, что означает, что они должны быть переданы приложению.

Это не имеет большого значения, так как у меня возникла эта проблема только при отладке моего приложения, но было бы очень хорошо, чтобы это работало и с GDB.

Кто-нибудь испытывал и решал такую ​​проблему?

1 Ответ

1 голос
/ 05 октября 2011

Возможно, вы захотите установить для этих сигналов значение nostop в gdb, чтобы оно управлялось вашим приложением.

...