【发布时间】:2019-08-27 15:38:20
【问题描述】:
在我的 android OpenGL ES 项目中,我最近在我的着色器代码中有一个错误, 这显然在此处的 OpenGL 线程中导致了“致命信号 11 (SIGSEGV)”:
GLES32.glCompileShader(glShaderHandle);
我解决了这个错误,它又可以正常工作了,但是我很难找出那个错误是从哪里来的。当然,我会尝试“捕捉”这样的着色器错误:
GLES32.glGetShaderiv(glShaderHandle, GLES32.GL_COMPILE_STATUS, result, 0);
但是在 SIGSEGV 错误的情况下,java 代码甚至没有达到这一点。尝试使用 try/catch 捕获错误也不起作用。该应用程序无论如何都会崩溃。我猜这个错误发生在原生 c 代码中。
有没有办法处理来自 java 代码的此类错误以防止应用崩溃?
【问题讨论】:
标签: java android opengl-es segmentation-fault