How to track down cause of SIGABRT
Asked Answered
V

1

41

I'm showing the code to this problem for example purposes, but really my question is: how am I supposed to track down and understand SIGABRT errors? I read this question: sigabrt with no error message, however I don't think this pertains to my problem.

The example I'll show below is obviously not a xib problem, and prior times getting SIGABRT seemed more to do with unhandled exceptions. I have tried using GDB's bt but this does not help. Is there not a more comprehensive dump to view? I have also used NSZombie, but I really don't understand how to use it, so if that is your answer, please provide a link to documentation on how I'm supposed to get relevant data from it.

Here's my example: I'm trying to use Core Data. My project was not originally set up with it, so I have had to manually add it, which I did by going to my project>Build Phases>Link Binary with Libraries>clicking the plus and adding CoreData.framework

Then I created my data model by going to File>New>Data Model. I created quite a few attributes and that's it

After that, I added the proper methods to the app delegate (I did this by creating a new project with Core Data, then copying the methods over):

//code removed, as its not needed for the question/answer

After this I just tried to save a value to the managed object (once again, code copied from the default implementation with a new project):

//code removed, as its not needed for the question/answer

But all I get when I execute the addTime method is the SIGABRT error.

xcode error

Vertigo answered 9/11, 2011 at 21:42 Comment(3)
i reread this one due to another comment left on a prior post. i can understand if its not readable but what part in particular are you having problems with.Vertigo
im sorry josh, i will go through and change some things (english was never my strong subject) i certainly dont want to exclude anyone from answering just because they didnt understand the question. but if this is just some OCD thing, than "why me"Vertigo
lol u already did it. thank you. like i said i did re-read this after posting in hopes that i wouldnt run into this comment again. i NEVER write things properly. i never have a need, so this will be a very hard habit for me to break but in the future i will try.Vertigo
R
73

SIGABRT rises when an object receives unimplemented message. How many warnings does your app have? Try surfing through them and find the ones that warn you "some object may not respond to some selector", if you clean your app from all of these, you'll most probably get it working correctly.

EDIT: Answer from comments below which are very helpful:

ok, here goes heavy artillery - have you tried using breakpoints? Open the sixth tab in your project explorer, in the bottom left corner tap + -> Add exception breakpoint -> Done. This will add an exception handler that will stop your app on the very method call that crashes the app.

EDIT: As of xCode 5.0 > You no longer need to specify which exception is your breakpoint is going to catch while the breakpoint is being created. You just need to hit + -> Add exception breakpoint and you're good.

enter image description here

Retardment answered 9/11, 2011 at 21:55 Comment(1)
i have a total of 4 (3 of which are for unused objects and the third is incompatible pointer types. NONE of which indicate any of the classes used aboveVertigo

© 2022 - 2024 — McMap. All rights reserved.