Detect array with issue (Debug mode) - ios

My app is crushing when i'm calling a few methods
I can see the error message and I understand what it say but I don't know how to detect the array with the problem by the message.
I have lots of arrays in the project.
how can I know from where the problem come from?
this is the message:
2014-12-16 15:07:01.830 myApp[2776:1237923] *** Terminating app due to uncaught exception 'NSRangeException', reason: '*** -[__NSArrayM objectAtIndex:]: index 0 beyond bounds for empty array'
*** First throw call stack:
(0x2a3eae3f 0x37a98c8b 0x2a2ffc49 0x114c07 0x2d8e515d 0x2d8e3835 0x2d8df47d 0x2d885b37 0x2d2adccd 0x2d2a96b5 0x2d2a953d 0x2d2a8f21 0x2d2a8d25 0x2d2a2bfd 0x2a3b15cd 0x2a3aec8b 0x2a3af093 0x2a2fd621 0x2a2fd433 0x316ab0a9 0x2d8e7809 0x12fee5 0x38018aaf)
libc++abi.dylib: terminating with uncaught exception of type NSException

To handle All exceptions, From Xcode click on Show the Breakpoint Navigator
Click + button at bottom side and from pop up click on Add Exception Breakpoint.
This will add exception break points for application, try to run again and execution will stop if any runtime exception raised.
If this will not help, enable zombie environment for project, check out from this thread -
How to set exception breakpoint from Xcode

Enable Zombie Object in Xcode for better error tracing.
To enable
Press Command+Option+R
Under Diagnostic tab-> Memory Management
Check "Enable Zombie Object"
Hope this Helps

Related

iOS app termination due to uncaught error

This is the exception and in my ignorance of using the tools in the IDE I have a very basic question. How do I go to the line of code that causes the issue? I have located where the issue is, but rather than NSLogging a message in the didload and didAppear events, then stepping through the code until is breaks seems like a long way to figure this out. I am assuming that the [5970:1623718] is a clue, but to what?
2017-10-04 08:22:47.798 Auto Mileage - Universal[5970:1623718] *** Terminating app due to uncaught exception 'NSRangeException', reason: '*** -[__NSArrayM objectAtIndex:]: index 4 beyond bounds [0 .. 3]'
*** First throw call stack:
(0x2580f91b 0x24faae17 0x2572172b 0xd89e3 0xd9e57 0x2a0d1465 0x2a0d15a5 0x2a0c0b51 0x2a0d5d1b 0x29e7523b 0x29d86a73 0x27e1ebcd 0x27e1a375 0x27e1a209 0x27e196d1 0x27e193a5 0x29d7db79 0x257d16c9 0x257cf9cd 0x257cfdff 0x2571f229 0x2571f015 0x26d0fac9 0x29df3189 0xe9159 0x253c7873)
libc++abi.dylib: terminating with uncaught exception of type NSException
You can add an "Exception Breakpoint".
Like in the picture, select "Show the Breakpoint navigator" (the blue icon on the top of the navigator), then click on the plus icon on the bottom and click on "Add Exception Breakpoint".

iPhone Project crash on start

I am trying to run my application and suddenly i get this error:
2014-11-05 12:12:54.972 [238:9512] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: ''
*** First throw call stack:
(0x235a7c1f 0x30dafc8b 0x235a7b65 0x299b61 0x299adf 0x322ec7 0x13b50d 0x242b6d6f 0x2356e377 0x2356d787 0x2356bded 0x234ba211 0x234ba023 0x2a86d0a9 0x26ac61d1 0x102bff 0x102b88)
libc++abi.dylib: terminating with uncaught exception of type NSException
It's on the start of the application,
i get this error without changing any code in my project, any idea what can cause this?
To resolve the NSException crashes, you have to remove all the warnings of .xib/.storyboard files. Cross check the IBOutlets warnings and you can see a cross (X) icon related to the yellow warnings to remove it.

NSRangeException error - In-App-Purchase implemantaition

I've implemented an In-App-Purchase into my app.
If I run my app and press the "purchase" button, i get the following error:
2014-10-22 17:48:20.733 MyApp[170:3435] *** Terminating app due to uncaught exception 'NSRangeException', reason: '*** -[__NSArrayI objectAtIndex:]: index 0 beyond bounds for empty array'
Does someone got the same error and know what's to do?
It is the typical exception that emerges when handling an empty array.
Add an exception breakpoint to your project in Xcode, as shown in the picture.
It will stop the execution of the app in the line that the exception does happen

Where do I get a readable stack trace in Xcode?

The following is the exception I get from iOS. It looks ridiculously unreadable (my brain is screaming wtf ten thousand miles per second). So this can’t be right. When I am developing for android, and I get an exception, the stack trace is completely readable, no magic such as 0x187d27bc8. So am I looking at the wrong window? Where in Xcode to I go to find a readable version of my stack trace? In eclipse there is a line number I can click on to get to the exact line that caused the error.
* Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '* -[__NSPlaceholderArray initWithObjects:count:]: attempt to insert nil object from objects[0]'
*** First throw call stack:
(0x1835a6084 0x193b840e4 0x18348f300 0x18349b5b8 0x100185c94 0x100185af4 0x10009f7b4 0x10009ede4 0x10009ec9c 0x10006c5a0 0x1882f32b8 0x10006c358 0x187d5d2f4 0x187d4644c 0x187d5cc90 0x187d1c724 0x187d567b8 0x187d55e58 0x187d29660 0x187fc7d6c 0x187d27bc8 0x18355e324 0x18355d5c8 0x18355b678 0x183489664 0x18c5cb5a4 0x187d8e984 0x100139854 0x1941f2a08)
libc++abi.dylib: terminating with uncaught exception of type NSException
In your menu bar go to: Debug -> BreakPoints -> Create Exception BreakPoints. And that should do it. So the next time you run the code, it will stop at the line that caused the exception. And then to the left, you should see the stack trace.

Cocoa Touch project with ARC error: [__NSCFString deviceOrientationDidChange:]: unrecognized selector

I've got the Cocoa Touch project with ARC and this error sometimes occurs. Can You explain me the kind of this error and the way to solve this?
-[__NSCFString deviceOrientationDidChange:]: unrecognized selector sent to instance 0x1ddf81a0
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSCFString deviceOrientationDidChange:]: unrecognized selector sent to instance 0x1ddf81a0'
*** First throw call stack:
(0x313132a3 0x38fad97f 0x31316e07 0x31315531 0x3126cf68 0x31264037 0x31b7a599 0x33121c65 0x3311c3db 0x3311b6cd 0x3311b11b 0x34e1c5a3 0x34e1c1d3 0x312e8173 0x312e8117 0x312e6f99 0x31259ebd 0x31259d49 0x34e1b2eb 0x3316f301 0x14b61 0x14ae8)
libc++abi.dylib: terminate called throwing an exception
You have a zombie problem. If you can reproduce this on the simulator, run it under the Zombies instrument. If you can only reproduce it on the device, edit your scheme, go to the Diagnostics tab, and turn on the zombies checkbox there. (Instruments doesn't offer zombie detection on the device, unfortunately.)
The crash you're seeing has nothing to do with ARC and everything to do with the object (which appears to be a NSCFString object) that's receiving a bogus "deviceOrientationDidChange:" message.
My recommendation would be to set a symbolic breakpoint on "deviceOrientationDidChange" and catch the message being sent and then you'll know what line of code is broken.

Resources