Я хотел использовать обработчики сигналов как из Crashlytics, так и из моей собственной библиотеки C в моем приложении iOS.
Эта собственная C библиотека при загрузке в память (во время запуска приложения) устанавливает обработчик SIGTRAP. Я инициализирую Crashlytics [FIRApp configure]
в точке входа приложения didFinishLaunchingWithOptions
. Я вызываю свою собственную библиотечную функцию в viewcontroller приложения.
При каждом запуске приложения я всегда получаю ложный отчет cra sh на панели инструментов Crashlytics, но приложение не сработало sh. В отчете говорится, что ошибка sh произошла при вызове функции собственной библиотеки.
Я попытался заставить оба обработчика сосуществовать, используя sigaction()
для извлечения обработчика сигнала.
После запуска приложения выполните следующие шаги в didFinishLaunchingWithOptions
1 NativeC SIGTRAP handler retrieved : A
2 Crashlytics initialization done
3 Crashlytics SIGTRAP handler retrieved : B
4 with B != A then Set SIGTRAP handler with A
5 SIGTRAP handler retrieved : A
- Есть ли способ использовать как собственный обработчик сигналов, так и обработчик сигналов Crashlytics на уровне приложения?
- Можно ли отключить обработчик SIGTRAP в Crashlytics? Если да, то есть ли какие-либо ограничения в отношении отчетности cra sh?