0

我的应用程序运行得很好,但大约 3 分钟后,我遇到了一个看起来像这样的奇怪崩溃

在此处输入图像描述 在此处输入图像描述

有没有人经历过这样的事情并知道可能是什么原因?这可能是某种内存泄漏吗?

一些代码:

- (void) draw {
[EAGLContext setCurrentContext:context];
glBindVertexArrayOES(_vertexArray);
shader.modelViewMatrix = mvm;
[shader texture:texture];
glDrawElements(GL_TRIANGLES, 6, GL_UNSIGNED_SHORT, 0);
glBindVertexArrayOES(0);
}

- (void) texture: (int) tex {

glUseProgram(TextureShader);
_camModelViewMatrix = GLKMatrix4Multiply(_cameraMatrix, _modelViewMatrix);
_modelViewProjectionMatrix = GLKMatrix4Multiply(_projectionMatrix, _camModelViewMatrix);
glUniformMatrix4fv(mvp, 1, 0, _modelViewProjectionMatrix.m);
glActiveTexture(GL_TEXTURE0);
glBindTexture(GL_TEXTURE_2D, textures[tex]);
}

如果您需要查看任何其他代码,请告诉我

4

1 回答 1

0

我还没有在 EXC_ 上找到好的文档???例外,但我的理解是线程消耗 CPU 的时间太长了。我发现对这个问题的最佳解释是关于 stackoverflow 的另一个问题:GCD crash with any task longer than 255 seconds。我在编写长测试用例时遇到了这个问题,我通过将它们分解成更小的测试用例或使用 EXC_??? 提高测试用例的性能来修复它们。EXC_的时候看看栈值得吗???发生并考虑是否可以进行改进以加快路径。

于 2013-07-27T02:01:44.967 回答