【发布时间】:2014-04-05 06:37:07
【问题描述】:
我找到了有关该错误的更多详细信息。 它似乎与信息 gpus_ReturnGuiltyForHardwareRestart 有关。 在谷歌之后,似乎关于这个错误的信息非常有限。 您以前遇到过这种情况并知道如何解决吗?
我认为有必要更新我发现的有关崩溃的信息。
似乎上述崩溃与子视图无关,因为在我禁用所有处理子视图的行后,崩溃仍然发生。
相关代码如下,
{
float scissor_x = _xMin;
float scissor_y = _yMin;
float scissor_w = _xAdd;
float scissor_h = _yAdd;
glEnable(GL_SCISSOR_TEST);
glScissor(scissor_x, scissor_y, scissor_w, scissor_h);
computeXY();//process some computation.
glDisable(GL_SCISSOR_TEST);
drawImage();//render the result computed above to the screen.
_xAdd++;
_yAdd++;
_xAdd = (_xAdd > 300) ? 100 : _xAdd;
_yAdd = (_yAdd > 300) ? 100 : _yAdd;
}
上面列出的行将在每一帧中被调用。不知道使用 glscissor() 是否有一些要求。如果 _xAdd 的值 _yAdd 设置为不变,则程序成功。但是,如果在每一帧中都改变了它们,那么程序肯定会在几步之后崩溃。
我真的很困惑。
这是调试器的输出,
(lldb) bt
* thread #1: tid = 0x7262e, 0x337bc94a libGPUSupportMercury.dylib`gpus_ReturnGuiltyForHardwareRestart + 10, queue = 'com.apple.main- thread', stop reason = EXC_BAD_ACCESS (code=1, address=0x1)
frame #0: 0x337bc94a libGPUSupportMercury.dylib`gpus_ReturnGuiltyForHardwareRestart + 10
【问题讨论】:
-
在 Xcode 中添加异常断点以检查是否生成任何异常,或者尝试使用 Profile->Zombies 选项来获取崩溃的确切原因。如果您从中找到任何东西,请告诉我们。
-
THX。我试过配置文件。但是在设备上好像不行,就像冻结一样。
-
是死机还是崩溃?那是两种不同的东西。如果它崩溃,请添加崩溃日志。如果冻结,请使用仪器分析应用程序(在设备上)并找出它在哪里花费时间。
-
@jrturton。可能我表达有误。我的意思是,当我尝试使用 Instruments 来分析设备(iPad 3)上的程序时,该程序似乎没有做任何事情。当前程序可以在iOS模拟器上成功运行。但仅在设备上,它就崩溃了。而且,我可以在使用 iOS 模拟器时分析程序。我检查了一些异常断点无法通过错误信息很好处理的材料,例如,Thread 1, EXC_BAD_ACCESS(code = 1, address = 0x1)
-
什么是“SelEdit”?任何第三方库?看起来应用程序无法在设备上加载此库的某些组件或服务器连接出现问题。如果您能提供更多详细信息。