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)
查看堆栈跟踪,您会看到该行
[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)
上面的代码不会立即崩溃,但字符串将被释放并释放.但是,因为它也是自动释放的,所以自动释放池将尝试在将来的某个时候再次释放它.你不知道什么时候会发生随机崩溃.
你可能做过类似的事:)
| 归档时间: |
|
| 查看次数: |
4853 次 |
| 最近记录: |