문제

이것을 분리하는 통찰력에 감사 할 것입니다. 약간의 복잡성이있는 iPhone 앱에서 반 반복 가능한 충돌이 발생합니다 ...

문제의 충돌은 앱 내의 특정 화면에서 Uibutton을 누를 때 (때로는 일관되게는 아니지만) 발생합니다.

(아직 확실하지 않지만, 문제는 메모리 조건이 낮을 때 더 많이 나타날 수 있습니다.)

일반적인 충돌 로그는 아래에서 발췌됩니다.

이 시점에서 많은 불필요한 세부 사항에 들어 가지 않고 (여러 가지 로그를 기반으로하는), 누구나 발생하는 문제에 대한 통찰력이 있습니까?

어떤 도움이든 대단히 감사합니다!

감사.

~~~

Incident Identifier: ...
CrashReporter Key:   ...
Process:         AppName [1532]         
Path:            /var/mobile/Applications/12345678-9ABC-DEF0-1234-56789ABCDEF0/AppName.app/AppName
Identifier:      AppName
Version:         ??? (???)
Code Type:       ARM (Native)
Parent Process:  launchd [1]

Date/Time:       2010-01-05 18:20:28.081 -0800
OS Version:      iPhone OS 3.0.1 (7A400)
Report Version:  104

Exception Type:  EXC_BAD_ACCESS (SIGBUS)
Exception Codes: KERN_PROTECTION_FAILURE at 0x00000000
Crashed Thread:  0

Thread 0 Crashed:
0   libobjc.A.dylib                 0x30011944 objc_msgSend + 24
1   UIKit                           0x3096e0d0 -[UIApplication sendAction:to:from:forEvent:] + 128
2   UIKit                           0x3096e038 -[UIApplication sendAction:toTarget:fromSender:forEvent:] + 32
3   UIKit                           0x3096e000 -[UIControl sendAction:to:forEvent:] + 44
4   UIKit                           0x3096dc58 -[UIControl(Internal) _sendActionsForEvents:withEvent:] + 528
5   UIKit                           0x309a660c -[UIControl touchesBegan:withEvent:] + 260
6   UIKit                           0x30935100 _UIGestureRecognizerUpdateObserver + 2136
7   CoreFoundation                  0x3020cd8a __CFRunLoopDoObservers + 466
8   CoreFoundation                  0x3025488c CFRunLoopRunSpecific + 1812
9   CoreFoundation                  0x30254164 CFRunLoopRunInMode + 44
10  GraphicsServices                0x3204529c GSEventRunModal + 188
11  UIKit                           0x308f0374 -[UIApplication _run] + 552
12  UIKit                           0x308eea8c UIApplicationMain + 960
13  AppName                         0x00002090 0x1000 + 4240
14  AppName                         0x0000202c 0x1000 + 4140

Thread 1:
0   libSystem.B.dylib               0x31d47158 mach_msg_trap + 20
1   libSystem.B.dylib               0x31d49ed8 mach_msg + 60
2   CoreFoundation                  0x3025454e CFRunLoopRunSpecific + 982
3   CoreFoundation                  0x30254164 CFRunLoopRunInMode + 44
4   WebCore                         0x3588dbc8 __ZL12RunWebThreadPv + 412
5   libSystem.B.dylib               0x31d705a0 _pthread_body + 20

Thread 0 crashed with ARM Thread State:
    r0: 0x0019e420    r1: 0x30128c94      r2: 0x00014fac      r3: 0x001ce9a0
    r4: 0x001a56e4    r5: 0x00000000      r6: 0x00000000      r7: 0x2ffff1e0
    r8: 0x00014fac    r9: 0x001a97c0     r10: 0x001ce9a0     r11: 0x00000001
    ip: 0x388ed9f0    sp: 0x2ffff1b8      lr: 0x3096e0d8      pc: 0x30011944
  cpsr: 0x200f0010

~~~

도움이 되었습니까?

해결책

exc_bad_access + objc_msgsend는 거의 항상 거래 된 객체로 전송 된 메시지와 동일합니다.

정적 분석기를 실행하면 도움이됩니다. 또한 Nszombies를 가능하게합니다.

그런 다음 디버그하고 재미있게 보내십시오!

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top