My program crashes after indicating the following. I know something bad occured with the NSArrays. How should I trace the array variable which causes the exception?

My program crashes after indicating the following. I know something bad occured with the NSArrays. How should I trace the array variable which causes the exception?

Tracing the array isn't going to help you here that much (but see below). You've overreleased something, probably the NSArray itself, and you're not finding out about it until the autorelease pool drains. These can be some of the hardest bugs to track down; hopefully it reproduces consistently.
The typical solutions are:
init and dealloc. This is the best way (besides ARC) to avoid these kinds of memory errors.Instruments can add traces on retains and releases (use the Zombies instrument). And there is NSZombies, which can help as well. But I have found in the vast majority of cases, the best first step is to search for all the times you use the object, and then check your retains and releases by hand. (I'm not saying any of these approaches is easy; just that a quick by-hand audit is often more effective than the tools.)
And of course make sure to use ARC.
The BEST way to do this, which will help you on MANY occasions, is to set up XCode to automatically break when exceptions are thrown where they are thrown. You can do this as follows:
STEP 1: Go to the breakpoints navigator.

STEP 2: Go to the bottom left and hit '+' and add exception breakpoint.

STEP 3: Find the breakpoint you just added above, right-click, and edit.

STEP 4: Change it to break on all Objective-C exceptions, and the vast majority of crashes will break where the crash occurred.

When the exception occurs, you can act as if you're normally debugging - print values to the console, or hover over them to see what their values are.