title: Why does assert simply terminate a program compiled for iPhone?
body: <p>I'm debugging a heavily assert()'ed iPhone app (Xcode, Objective-C++, and device simulator). In some cases, the assert failure would just terminate the app, instead of breaking into the debugger as I'd expect.</p>
  
  <p>I made a workaround by implementing my own kinda-assert to the effect of:</p>
  
  <pre><code>#define AssertLite(b) if(!(b)) {asm {int 3}}
  </code></pre>
  
  <p>(fluff omitted), but I wonder if anyone ever encountered this. I could not determine a pattern as to when does it break and when does it terminate. The code is not threaded; all it does is done in event handlers.</p>
  
  <p>Why does this happen and how do I make vanilla assert() behave like a conditional breakpoint it should be?</p>