iphone应用程序崩溃,没有任何控制台错误或崩溃日志:

Vat*_*waj 5 iphone objective-c ios4

我是新手.我正在尝试构建一个测验应用程序,而我的应用程序在测验的第一次迭代运行正常,它退出时没有任何控制台错误在第二次运行.修改以下所有代码以供参考.

看起来当我重新运行测验时, - (void)下面的loadNextWord函数确实执行但之后没有任何反应.

请帮忙!

谢谢!

从调试器转储:

我在主函数中的第14行是int retVal = UIApplicationMain(argc,argv,nil,nil);

#import <UIKit/UIKit.h>

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

NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
int retVal = UIApplicationMain(argc, argv, nil, nil);
[pool release];
return retVal;
}

Program received signal:  “EXC_BAD_ACCESS”.
(gdb)
#0  0x025f0907 in objc_msgSend ()
#1  0x05f28da0 in ?? ()
#2  0x023cfc9d in _CFAutoreleasePoolPop ()
#3  0x0001ee67 in -[NSAutoreleasePool release] ()
#4  0x002cfe7f in _UIApplicationHandleEvent ()
#5  0x02d73822 in PurpleEventCallback ()
#6  0x02474ff4 in __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__ ()
#7  0x023d5807 in __CFRunLoopDoSource1 ()
#8  0x023d2a93 in __CFRunLoopRun ()
#9  0x023d2350 in CFRunLoopRunSpecific ()
#10 0x023d2271 in CFRunLoopRunInMode ()
#11 0x02d7200c in GSEventRunModal ()
#12 0x02d720d1 in GSEventRun ()
#13 0x002d3af2 in UIApplicationMain ()
#14 0x00002880 in main (argc=1, argv=0xbfffef94) at /Users/vbhardwaj/Documents/ObjectiveC/FinalProject/FunWords/main.m:14
Run Code Online (Sandbox Code Playgroud)

dea*_*rne 8

查看堆栈跟踪,您会看到该行

[NSAutoreleasePool release]
Run Code Online (Sandbox Code Playgroud)

这告诉我你已经释放了一个对象太多次了,例如:

NSString *string = [NSString stringWithString:@"Hello"]; // This string is autoreleased
[string release]; // This line won't crash but is WRONG!
Run Code Online (Sandbox Code Playgroud)

上面的代码不会立即崩溃,但字符串将被释放并释放.但是,因为它也是自动释放的,所以自动释放池将尝试在将来的某个时候再次释放它.你不知道什么时候会发生随机崩溃.

你可能做过类似的事:)