0

我正在尝试确定导致我在测试我的应用程序时看到的崩溃的原因。现在,每次我尝试在连接了 iphone 的情况下从 xcode 运行应用程序时,它都会抛出 EXEC_BAD_ACCESS (code=1, address=0x1)。

该应用程序崩溃,但我在崩溃日志中没有看到新条目。我尝试在启用 Zombies 的情况下运行,但我遇到了同样的崩溃。

奇怪的是,如果我使用模拟器进行调试,通过点击其图标在设备上运行应用程序,甚至在 Instruments 中,我都不会收到此错误。任何建议和/或解释将不胜感激。

这是我在 Xcode 中看到的:

libobjc.A.dylib`objc_msgSend:
0x36acb5c0:  teq.w  r0, #0
0x36acb5c4:  beq    0x36acb606                ; objc_msgSend + 70
0x36acb5c6:  push.w {r3, r4}

**0x36acb5ca:  ldr    r4, [r0]**  < ------ This is where the app gets caught up EXEC_BAD_ACCESS (code=1, address=0x1)

0x36acb5cc:  lsr.w  r9, r1, #2
0x36acb5d0:  ldr    r3, [r4, #8]
0x36acb5d2:  add.w  r3, r3, #8
0x36acb5d6:  ldr    r12, [r3, #-8]
0x36acb5da:  and.w  r9, r9, r12
0x36acb5de:  ldr.w  r4, [r3, r9, lsl #2]
0x36acb5e2:  teq.w  r4, #0
0x36acb5e6:  add.w  r9, r9, #1
0x36acb5ea:  beq    0x36acb600                ; objc_msgSend + 64
0x36acb5ec:  ldr.w  r12, [r4]
0x36acb5f0:  teq.w  r1, r12
0x36acb5f4:  bne    0x36acb5d6                ; objc_msgSend + 22
0x36acb5f6:  ldr.w  r12, [r4, #8]
0x36acb5fa:  pop.w  {r3, r4}
0x36acb5fe:  bx     r12
0x36acb600:  pop.w  {r3, r4}
0x36acb604:  b      0x36acb620                ; objc_msgSend_uncached
0x36acb606:  mov.w  r1, #0
0x36acb60a:  bx     lr
0x36acb60c:  nop    
0x36acb60e:  nop    
0x36acb610:  nop    
0x36acb612:  nop    
0x36acb614:  nop    
0x36acb616:  nop    
0x36acb618:  nop    
0x36acb61a:  nop    
0x36acb61c:  nop    
0x36acb61e:  nop 
4

2 回答 2

0

尝试在 cmd-alt-b 菜单中启用所有内存调试选项:zombies、scribble 等。并设置异常断点。

于 2013-01-18T07:31:35.770 回答
0

如有疑问,请重新启动您的设备。现在工作正常。无法隔离导致错误的原因。

于 2013-01-19T08:08:53.887 回答