我正在尝试使用以下代码创建一个悬空指针:
-(void) touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
NSLog(@"I am touched!");
// bar is an instance variable defined by NSString *bar; in the interface
if (!bar) {
NSLog(@"bar is being init");
bar = [NSString stringWithFormat:@"Hello I am %i", arc4random() % 1000];
NSLog(@"bar is now %@", bar);
} else {
NSLog(@"bar is %@", bar);
}
}
因此,我可以在 iPad 2 设备(不是模拟器)上第二次触摸时成功使程序崩溃,但是当我尝试[bar retain];
在分配行之后添加 abar =
以查看不会有悬空指针时,应用程序无法启动并继续运行显示:
无法向引导服务器注册 com.mycompany.TryIOSAppLeak。错误:未知错误代码。
这通常意味着该进程的另一个实例已经在运行或挂在调试器中。(lldb)
有没有办法让它重新开始?(除了重新启动 iPad 和 iMac 或重新启动 Xcode)。