在 iOS 模拟器中工作 1-2 分钟后,XCode 让我跳出汇编程序。(我有 XCode 4.6.2 )
- 这不是一个例外(我有全局断点)
- 这不是 Assert 或
BAD ACCESS
- 我可以按下屏幕底部的播放按钮,然后应用程序向前移动。
通常它会在某处中断:
glDrawArrays(GL_TRIANGLE_STRIP, 0, 4); (I am using OpenGL 1.1)
几乎每次都会发生这种情况,具有 90% 的可复制性 为什么它会跳出到汇编程序?我在申请中有什么问题吗?
通常它会在这里中断
OpenGLES`glDrawArrays:
0xcc50dd: pushl %ebp
0xcc50de: movl %esp, %ebp
0xcc50e0: pushl %edi
0xcc50e1: pushl %esi
0xcc50e2: subl $16, %esp
0xcc50e5: movl $30, (%esp)
0xcc50ec: calll 0xccb5c2 ; symbol stub for: pthread_getspecific
0xcc50f1: testl %eax, %eax
0xcc50f3: je 0xcc5116 ; glDrawArrays + 57
0xcc50f5: movl 16(%ebp), %ecx
0xcc50f8: movl 12(%ebp), %edx
0xcc50fb: movl 8(%ebp), %esi
0xcc50fe: movl 16(%eax), %edi
0xcc5101: movl %ecx, 12(%esp)
0xcc5105: movl %edx, 8(%esp)
0xcc5109: movl %esi, 4(%esp)
0xcc510d: movl %edi, (%esp)
0xcc5110: calll *280(%eax)
0xcc5116: addl $16, %esp <<<<<< Usually it break here
0xcc5119: popl %esi
0xcc511a: popl %edi
0xcc511b: popl %ebp
0xcc511c: ret
或像这样:
0x18401c64: cvttps2dq%xmm4, %xmm0 <<< Thread 1: EXC_??? (11) (code=0, subcode=0x0)
0x18401c68: movaps %xmm4, %xmm5
0x18401c6b: psrld $31, %xmm5
0x18401c70: psubd %xmm5, %xmm0
0x18401c74: movdqa %xmm0, -3592(%ebp)
0x18401c7c: pshufd $80, 48(%esi), %xmm5
堆栈在这里:
0 0x1880210a
6 glDrawArrays
7 [Displaybrush.....] //my method for display