Моя игра для Android постоянно падает. У меня проблемы с определением причины. Кажется, что сбой происходит случайно во время активной игры. Я использую Java-файл SDLActivity для взаимодействия с SDL. Вот результаты трассировки ndk-стека, которую я запустил.
********** Crash dump: **********
Build fingerprint: 'Huawei/SCL-L01/hwSCL-Q:5.1.1/HuaweiSCL-
L01/C432B160:user/release-keys'
pid: 28222, tid: 28261, name: SDLThread >>> com.example.proj <<<
signal 11 (SIGSEGV), code 0 (SI_USER), fault addr 0x53b
Stack frame I/DEBUG ( 330):
#00 pc 0002af24 /data/app/com.example.proj-1/lib/arm/libmain.so
(Game::Render()+6387): Routine Game::distribute() at C:/Users/HelloWorld/Desktop/NewbieGame/app/src/main/jni/src/Game.cpp:365
Stack frame I/DEBUG ( 330):
#01 pc 000413a9 /data/app/com.example.proj-1/lib/arm/libmain.so
(Game::Event(SDL_Event*, unsigned int)+328):
Routine bool std::__ndk1::operator==<char, std::__ndk1::char_traits<char>,
std::__ndk1::allocator<char> >(std::__ndk1::basic_string<char,
std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> > const&, char const*)
at D:/ndk/build//../sources/cxx-stl/llvm-libc++/include/string:3854
Stack frame I/DEBUG ( 330):
#02 pc 0001379f
/data/app/com.example.proj-1/lib/arm/libmain.so
(SDL_main+954): Routine $a at libgcc2.c:?
Stack frame I/DEBUG ( 330):
#03 pc 0001326f /data/app/com.example.proj-1/lib/arm/libmain.so
(Java_org_libsdl_app_SDLActivity_nativeInit+422): Routine $a at libgcc2.c:?
Terminate batch job (Y/N)?
Я не могу понять, что означает этот logcat. Я был в файлах, сообщенных logcat, и не вижу ничего, что вызывает сбои. Кто-нибудь может объяснить, что именно могут означать эти сообщения журнала?
Задача ещё не решена.
Других решений пока нет …