2
OpenGL ES 1.1喜歡在我的iPhone程序崩潰時發生任何錯誤。如何調試OpenGL ES崩潰?
通常它發生在glDrawArrays裏的某個地方,在堆棧上有幾個glDestroyContext調用。
通常我通過插入
{
GLint iErr = glGetError();
if (iErr != GL_NO_ERROR)
{
NSLog(@"GL error: %d (0x%x)", iErr, iErr);
}
}
到處都是平分的問題。
但是有時這還不夠。有沒有其他方法可以在碰撞原因上獲得有用的診斷信息?
沒有額外的控制檯消息(也就是說,除了崩潰類型 - 確實通常是不好的訪問)。通常它可能是一些不好的輸入數據,或者我忘記啓用某些狀態。但需要時間才能找到具體的問題。通常我不得不求助於二分查找。 :( – 2009-10-01 16:16:55
我會檢查以確保你沒有試圖繪製比你的緩衝區包含更多的三角形,這聽起來像OpenGL進入它不應該的內存,這可能意味着你告訴它,你有更多的頂點你真的在緩衝區中。 – 2009-10-03 06:04:02