Warum nimmt einfach beenden ein Programm zusammengestellt, für das iPhone?

Ich bin Debuggen einer stark assert()'ed iPhone-app (Xcode, Objektive-C++ - und device-simulator). In einigen Fällen, wird der assert-Fehler würde nur beenden Sie die app, anstatt zu brechen in den debugger als ich erwarten würde.

Machte ich eine Abhilfe durch die Umsetzung meiner eigenen kinda-geltend machen, um die Wirkung:

#define AssertLite(b) if(!(b)) {asm {int 3}}

(fluff weggelassen), aber ich Frage mich, ob jemals jemand auf diese. Ich konnte nicht feststellen, ein Muster ist, Wann gibt es Pause und Wann ist es beendet. Der code ist nicht eingefädelt; alle es tut, geschieht in Ereignis-Handlern.

Warum passiert das und wie mache ich Vanille assert() Verhalten sich wie in einem bedingten Haltepunkt verwendet wird, wie es sein sollte?

Schreibe einen Kommentar