title: Need tips for debugging Cocoa bindings
body: <p>I'm encountering my second problem in three days where an errant binding is causing me hours of searching and headaches.</p>
  
  <p>A glance at the stack trace indicates a problem with debugging (e.g., one of the last methods called before the runtime started generating an exception was bind:toObject:withKeyPath:options:). However, I'm finding it impossible to determine WHICH binding is causing the problem:</p>
  
  <ul>
  <li><p>Nothing in the stack trace or variable inspection indicates which views were involved in the call that crashed.</p></li>
  <li><p>The last non-machine instruction that's traceable by stepping through code is a call to a monolithic function (awakeFromNib or makeKeyAndOrderFront).</p></li>
  <li><p>The message in the actual exception is mystifying - e.g., "Cannot create NSArray from object  of class NSScrollView," while creating a window that doesn't have any NSScrollViews (just two buttons and two text fields).</p></li>
  </ul>
  
  <p>So... any tips for debugging these types of problems? For example:</p>
  
  <ul>
  <li><p>Is there any way to get a list of ALL of the bindings specified in a nib/xib? (The inability to do this drives me CRAZY!)</p></li>
  <li><p>Is there any way to find out which views or controls were involved in the crash?</p></li>
  <li><p>Is there any way to get more information about what's happening inside monolithic calls like awakeFromNib?</p></li>
  </ul>