iphone - 如何调试OpenGL ES崩溃?

标签 iphone debugging opengl-es crash

如果有任何错误,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异常。如果我的假设是正确的,则可能是您向glVertexPointerglColorPointer或其他相关功能之一传递了一个错误的数组。

我以为它死在glDrawArrays中并且永远不会回来是正确的吗?换句话说,由于程序已经崩溃,无法在glGetError之后调用glDrawArrays吗?

关于iphone - 如何调试OpenGL ES崩溃?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1376657/

相关文章:

javascript - jQuery i++ 和 i-- 问题

java - 你如何在 Eclipse 中设置实例断点?

c - 当我调试死锁情况消失时......那么我到底是怎么找到错误的呢?

android - 是否有可能在OpenGL中点击多维数据集的哪个表面?

ios - Swift Compact Map 返回空

ios - 苹果批准多个 Storyboard而不是尺寸类别?

ios - 如何理解 iPhone 上的崩溃报告 iOS 测试

graphics - 在 OpenGL 中移动 Sprite 的最佳方式 - 平移或改变顶点

objective-c - 如何通过渐变的 alpha 屏蔽 cocos2d 中的 Sprite ?

iphone - iOS:在 UIImage 上绘制 NSString 和边框