gpt4 book ai didi

ios - Xcode 不会越过崩溃

转载 作者:可可西里 更新时间:2023-11-01 03:56:01 27 4
gpt4 key购买 nike

所以,这在许多不同的项目中发生过多次。当 Xcode 因错误而中断时,我将在 Xcode 中调试我的应用程序。看完之后,我点击了 Step Over 或 Continue……但它什么也做不了。更准确地说,它的行为就像是在迈步,但实际上并没有去任何地方。据我所知,这可以无限期地重复。这是有问题的原因之一是它永远不会给我崩溃日志,因为它永远不会完成崩溃。我仅在应用程序崩溃且未被调试时获取崩溃日志(这意味着我必须通过 Crittercism 或通过检查设备日志获取它)。

有人以前见过这个,和/或知道它为什么这样做吗?我没有在其他地方看到任何关于此的提及,但它在我的几个项目中发生过。

例如,在一个项目中,我们使用 SocketRocket,每隔一段时间(由于目前未知的原因)它会在 SRWebSocket.m 中崩溃,方法如下:

- (void)main;
{
@autoreleasepool {
_runLoop = [NSRunLoop currentRunLoop];
dispatch_group_leave(_waitGroup);

NSTimer *timer = [[NSTimer alloc] initWithFireDate:[NSDate distantFuture] interval:0.0 target:nil selector:nil userInfo:nil repeats:NO];
[_runLoop addTimer:timer forMode:NSDefaultRunLoopMode];

int i = 0;

while ([_runLoop runMode:NSDefaultRunLoopMode beforeDate:[NSDate distantFuture]]) {
NSLog(@"_runLoop %i %@", i++, [NSDate date]);
}
assert(NO);
}
}

它在 while 行崩溃。 (顺便说一句,我添加了 NSLog 行)。当我点击 Continue 或 Step Over 时,行指示器会短暂闪烁,然后再次出现在同一行上。请注意,它不会继续到 NSLog 行,也不会向控制台写入任何内容。我目前仍在尝试让它再次崩溃(这个特定的崩溃是相当不可预测的),但如果我没记错的话,行指示器显示 EXC_BAD_ACCESS,可能是一个过早释放的对象。

最佳答案

您错过了 Step Over 的要点。当您越过一行时,您表示执行当前行并转到下一个可见行,而不管当前行是否调用另一个过程。

如果代码在任何时候崩溃,您将无法继续执行代码行。

关于ios - Xcode 不会越过崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22240370/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com