title: How to read a crash report from iPhone
body: <p>Got a crash report from a beta tester and I'm having trouble identifying the root of the problem. Clearly something went wrong when trying to set a UIButton (screenOverlay). Here's its creation in ViewDidLoad:</p>
  
  <pre><code>UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];
  button.frame = CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height);
  button.backgroundColor = [UIColor blackColor];
  button.alpha = 0.0;
  button.hidden = YES;
  [button addTarget:self.noteView action:@selector(backgroundClicked:) forControlEvents:UIControlEventTouchUpInside];
  self.screenOverlay = button;
  [self.view addSubview:screenOverlay];
  [button release];
  </code></pre>
  
  <p>Strange thing is this crash occurred well after view was loaded...perhaps viewDidLoad was being called again as the keyboard was being moved offscreen? Anyway, any veterans out there have some words of wisdom on how to approach these things when you get them?</p>
  
  <p>Here's the stack trace. Happy to upload rest if you'd find it valuable. </p>
  
  <pre><code>    Date/Time:       2009-09-04 08:42:05.341 -0700
      OS Version:      iPhone OS 3.0.1 (7A400)
      Report Version:  104
  
      Exception Type:  EXC_BAD_ACCESS (SIGSEGV)
      Exception Codes: KERN_INVALID_ADDRESS at 0x80000408
      Crashed Thread:  0
  
      Thread 0 Crashed:
      0   libobjc.A.dylib  0x30011960 objc_msgSend + 52
      1   libobjc.A.dylib  0x3001313c objc_setProperty + 160
      2   MyApp            0x00003258 -[ItemizeViewController setScreenOverlay:] (ItemizeViewController.m:24)
      3   MyApp            0x00003920 -[ItemizeViewController viewDidLoad] (ItemizeViewController.m:229)
      4   UIKit            0x3093d5e4 -[UIViewController view] + 152
      5   UIKit            0x30a56d84 -[UIViewController contentScrollView] + 24
      6   UIKit            0x30973ee0 -[UINavigationController _startTransition:fromViewController:toViewController:] + 180
      7   UIKit            0x30973d90 -[UINavigationController _startDeferredTransitionIfNeeded] + 256
      8   UIKit            0x309a7468 -[UINavigationController _popViewControllerWithTransition:allowPoppingLast:] + 400
      9   UIKit            0x309a72c8 -[UINavigationController popViewControllerAnimated:] + 32
      10  UIKit            0x309a7a0c -[UINavigationController navigationBar:shouldPopItem:] + 132
      11  UIKit            0x309a77e8 -[UINavigationBar popNavigationItemAnimated:] + 184
      12  UIKit            0x30a3667c -[UINavigationBar _handleMouseUpAtPoint:] + 536
      13  UIKit            0x30a34f64 -[UINavigationBar touchesEnded:withEvent:] + 84
      14  UIKit            0x309a60d4 -[UIWindow _sendTouchesForEvent:] + 520
      15  UIKit            0x309a5464 -[UIWindow sendEvent:] + 108
      16  UIKit            0x30936e3c -[UIApplication sendEvent:] + 400
      17  UIKit            0x30936874 _UIApplicationHandleEvent + 4336
      18  GraphicsServices 0x32046964 PurpleEventCallback + 1028
      19  CoreFoundation   0x30254a70 CFRunLoopRunSpecific + 2296
      20  CoreFoundation   0x30254164 CFRunLoopRunInMode + 44
      21  GraphicsServices 0x3204529c GSEventRunModal + 188
      22  UIKit            0x308f0374 -[UIApplication _run] + 552
      23  UIKit            0x308eea8c UIApplicationMain + 960
      24  MyApp            0x00002090 main (main.m:14)
      25  MyApp            0x0000202c start + 44
  
  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 RunWebThread(void*) + 412
  5   libSystem.B.dylib               0x31d705a0 _pthread_body + 20
  
  Thread 0 crashed with ARM Thread State:
      r0: 0x0018e4e0    r1: 0x300991c4      r2: 0x43a00000      r3: 0x00001108
      r4: 0x80000408    r5: 0x00000001      r6: 0x00000000      r7: 0x2fffeb94
      r8: 0x43a00000    r9: 0x001fc098     r10: 0x301038dc     r11: 0x30082134
      ip: 0x381fd03c    sp: 0x2fffeb74      lr: 0x30013144      pc: 0x30011960
    cpsr: 0xa0000010
  </code></pre>