Большинство ошибок, возникающих в моем коде на С++, заставляют приложение просто выйти, без каких-либо выходных данных LogCat, и на устройстве нет сообщений. Нулевые указатели и некорректное использование JNI часто дают этот результат, и, разумеется, он очень сильно отлаживает работу.
В настоящее время я могу получить трассировку стека с командой "bt" в ndk-gdb, но не в случае сбоя в течение первых 2 секунд запуска, потому что ndk-gdb запускает процесс и присоединяется к нему после его запуска, Кроме того, ndk-gdb ненадежен, часто говорит, что он не может найти никаких символов или жаловаться на нефатальные ошибки "SIGILL", например.
Есть ли способ уловить ошибку и распечатать трассировку стека или другую информацию при сбое приложения? Например, если был SIGSEGV, я хотел бы узнать, к какому адресу приложение пыталось получить доступ.