signal 11 (SIGSEGV), code 1 (SEGV_MAPERR)

試著忘記壹切 提交于 2019-12-03 14:05:54
vgonisanz

When Zygote throws a signal 11, that means some process attempted to access a forbidden memory zone. I suggest use android_print to check the zone where the program tried to access and failed, using DDMS.

If you are using OpenGL remember it works in an independent thread, so initialize all variables used by OpenGL on constructors to avoid this kind of problem. Try to test rending a test, then use your game code.

NoAngel

If you see SIGSEGV 11, code 1 with a call stack like libgles<blablabla...>, the first thing you should do is check the OpenGL/EGL initialization. Different GPUs on Android may or may not support some features you request during OpenGL initialization. You should look into that and try to find the function that fails, and add a code that will retry with working configuration parameters.

I had a similar issue, and I solved just clicking on "Build -> Refresh Linked C++ Library".

Maybe can be useful for someone else.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!