Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Xcode 4 doesn't show the exception message

Tags:

xcode

I had a xib file with an old outlet connected. That would crash and set a breakpoint on the line pushing the view controller with :

Catchpoint 2 (throw)Pending breakpoint 1 - "objc_exception_throw" resolved

Not very helpful, I remember in XCode 3 I had something like "an outlet is not connected"

How do I get that back ?

edit : if I check "automatically continue after evaluating actions", I get this message :

*** Terminating app due to uncaught exception 'NSUnknownKeyException', reason: '[<OrderController 0x7942760> setValue:forUndefinedKey:]: this class is not key value coding-compliant for the key table.'
*** First throw call stack:
(0x16e1052 0x2182d0a 0x16e0f11 0x4cb032 0x43cf7b 0x43ceeb 0x457d60 0x99991a 0x16e2e1a 0x164c821 0x99846e 0x83fe2c 0x8403a9 0x8405cb 0x840941 0x85247d 0x85266f 0x85293b 0x8533df 0x853986 0xcf67dbd 0x8535a4 0x3a3da 0x841fbf 0x8422d4 0x8425d7 0x842785 0x85c0a5 0x842730 0x78b5ea 0x16b59ce 0x164c670 0x16184f6 0x1617db4 0x1617ccb 0x18f7879 0x18f793e 0x77aa9b 0x276d 0x1fd5)
terminate called throwing an exceptionCurrent language:  auto; currently objective-c
(gdb) 

which is better than nother, but the breakpoint stops on main.m ! Here is the current setup of my breakpoint

enter image description here

like image 674
Thomas Joulin Avatar asked Jan 05 '12 10:01

Thomas Joulin


People also ask

How do I show errors in Xcode?

In Xcode 9.2 (at least), you can single click on the error / warning icon in the tooltip and it will expand. Show activity on this post. I'm sure if you expand the left hand pane, it shows the full error. Ensure you are in the Warnings/Errors tab.

What does Exc_guard mean?

EXC_GUARD indicates the process violated a guarded resource protection. Although there are multiple types of guarded system resources, most guarded resource crashes are from guarded file descriptors, which have the GUARD_TYPE_FD value in the Exception Subtype field.

What is Exc_breakpoint Sigtrap?

EXC_BREAKPOINT (SIGTRAP) is a trace trap interrupted the process. It gives an attached debugger, if any, a chance to interrupt the process at a specific point in its execution.


1 Answers

Mystery solved. At least for me, hitting 'continue' a couple of times allowed the error to be printed to the console.

The issue (in this case) was having a couple of other custom breakpoints set (objc_exception_throw, -[NSException raise]).

Enabling "automatically continue after evaluating" for BOTH allowed the process to be killed without manual intervention, somewhere around which time the detailed error message was printed to the console.

Hope this helps.

like image 134
rondoagogo Avatar answered Oct 17 '22 08:10

rondoagogo