views:

42

answers:

1

I just upgraded to SDK 3.2. My application runs in Simulator 3.0 in debug mode but when I change the Simulator to run with 3.2 it crashes with EXEC_BAD_ACCESS.

It is crashing at objc_msgsend method.

int main(int argc, char *argv[]) {

NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
int retVal = UIApplicationMain(argc, argv, nil, nil); <======== THE STACK TRACE starts here.
[pool release];
return retVal;

}

Any idea what is going on? I have absolutely no clue. Any help/suggestion will be greatly appreciated?

Thanks A

A: 

It is likely that you are using deprecated code.

The stack trace you have shown is the main application loop - that is not really helpful. You need to look further up the stack. Look for code that you wrote and see what may be wrong with it.

You could be trying to log something with improper formatters. for example: NSLog(@"%@", 55); (55 is an integer,not a string). Maybe you are trying to modify an immutable object.

Would you please post more of the stack (or the whole thing) so we can see it? The code that you wrote may help here too.

Moshe
This was the only thing that was on my stacktrace that I wrote. Everything else is from iphone library. None of my code is called when this happens. My theory:apple has changed there Garbage Collector. Some message is being send from a piece of code to clean an object but that object has already been cleaned. Does this make sense? If so how to check for it?ThanksA
amitabh
There is no Garbage collector in iPhone development. You need to release things. Perhaps you are over-releasing things. You can emil me at "[email protected]" if you'd like or post your source code here. Use `NSLog()` to figure out where the code is crashing.
Moshe