如果有任何错误,OpenGL ES 1.1会崩溃使我的iPhone程序崩溃。
通常,它发生在glDrawArrays内部的某个地方,在堆栈上有多个glDestroyContext调用。
通常我通过插入来平分问题
{
GLint iErr = glGetError();
if (iErr != GL_NO_ERROR)
{
NSLog(@"GL error: %d (0x%x)", iErr, iErr);
}
}
到处都是。
但是有时这还不够。还有其他方法可以获取有关崩溃原因的有用诊断信息吗?
最佳答案
在控制台输出中是否收到任何错误消息?仅从描述中,我想知道您是否遇到BAD_ACCESS
异常。如果我的假设是正确的,则可能是您向glVertexPointer
,glColorPointer
或其他相关功能之一传递了一个错误的数组。
我以为它死在glDrawArrays
中并且永远不会回来是正确的吗?换句话说,由于程序已经崩溃,无法在glGetError
之后调用glDrawArrays
吗?
关于iphone - 如何调试OpenGL ES崩溃?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1376657/