I use Crashlytics NDK.I add my crash handlers - sigaction for signals(SIGABRT, SIGSEG etc) in game thread.After that Crashlytics stop reporting crashes on some devices(Xiaomi Mi 9T pro - crash reported, Samsung S8 - crash not reported).
How I can force to work together Crashlytics NDK crash handlers and my custom crash handlers?
This is my custom crash handlers:
static const int SIGNALS_TO_CATCH[] = { SIGABRT, SIGBUS, SIGFPE, SIGSEGV, SIGILL, SIGSTKFLT, SIGTRAP, }; static struct sigaction old_handlers[NSIG]; void crash_handler(int signal, siginfo* info, void* ctxvoid) { android_fatal() << "CRASH OCCURED!!" << signal; sigaction(signal, &old_handlers[signal], nullptr); }
This is registration
struct sigaction sigaction_struct;memset(&sigaction_struct, 0, sizeof(sigaction_struct));sigaction_struct.sa_flags = SA_SIGINFO;sigaction_struct.sa_sigaction = crash_handler;for (auto signal : SIGNALS_TO_CATCH) sigaction(signal, &sigaction_struct, &old_handlers[signal])