Wednesday 15 August 2012

ios - Xcode exception breakpoint doesn't print details of the exception being thrown -


summary

When I set an exception breakpoint, I do not get an exception message. How do I get an exception message? I already know how to get a stack trace, but it does not include exception messages.

Description

In the past, I developed the iOS App with the encoded and when there was a problem, I would get an error / exception, this exception often contains a message like "did not remove Can be dereference "or whatever.

Now, I've never received an exception message using Xcode 4.6.x for the past few weeks. I will often get a SIGABRT, I break the exception breakpoint and it will break there, but it has closed within some SODs in ISS SDK and I do not get any message.

In fact, I can not remember the last time that nothing was seen in the debugger console.

Does the exception information disappear with the migration for LLVM?

It is very disappointing that my app is not just a crash in SDK, without knowing why I have to ensure the final work that things have been set correctly (object Is allocated, etc.) and this means that I have not left any clue.

Is this possibly going to stop exception messages in some way?

Please open the question again now the answer is!

An excellent answer has been given in the comments. It should be encouraged to answer fully, and therefore I can answer the question and those who have this common problem can find it. To be like this, the question should be opened again! (After this I will remove this petition).

I will update Jeff's answer here:

Both Due to highlighting the line exception (and not in main.m, UIApplicationMain) and Reasons for Exceptions (for example, "Error: A fetch request should have a unit To do this:

  • In the breakpage navigator:
    1. Add (+), Add exception breakpoint
    2. New breakpoint, control-click, breakpoint Edit
    3. Ex Do not add
    4. Enter: PO $ eax

      The relevant portion of the stack trace will be in the Nagyavater area .

      Here's my spare part to use with Xcode 6.

      1. Enter: po (NSException *) $ eax

        In Xcode 6 you can explicitly The object must be provided because it is no longer estimated.

        Using po $ arg1 now works better in Xcode 7 and above because it is not dependent on architecture.

No comments:

Post a Comment