Ios 无法解释的EXC\u错误访问

Ios 无法解释的EXC\u错误访问,ios,exc-bad-access,Ios,Exc Bad Access,我的应用程序上出现了间歇性的EXC\u BAD\u访问崩溃,我不知道为什么。这是一种连接到我的后端的方法,我的后端已经工作了多年,现在正在爆炸 无法预测 - (BOOL)isServerAvailable { if (SharedAppDelegate.netConnectionUp) { NSURL *url = [NSURL URLWithString:[NSString stringWithFormat:@"%@/is_server_online", API_B

我的应用程序上出现了间歇性的EXC\u BAD\u访问崩溃,我不知道为什么。这是一种连接到我的后端的方法,我的后端已经工作了多年,现在正在爆炸 无法预测

- (BOOL)isServerAvailable {

    if (SharedAppDelegate.netConnectionUp) {

        NSURL *url = [NSURL URLWithString:[NSString stringWithFormat:@"%@/is_server_online", API_BASE_URL]];
        NSError *theNetworkError = nil;
        NSString *content = [NSString stringWithContentsOfURL:url encoding:NSASCIIStringEncoding error:&theNetworkError];

       if ([content isEqualToString:@"yes"]) {

            return YES;
       }
       else {

            [self showNoServerDialog];
       }
    }
调试器指示它将在以下服务器上关闭:

NSString *content = [NSString stringWithContentsOfURL:url encoding:NSASCIIStringEncoding error:&theNetworkError];

我不知道为什么。有什么想法吗?

在异常发生之前,
url
的值是多少?@Drux调试器变量中的值是正确的。这是我的后端/is_服务器_在线API调用的完整url。除了异常情况外,报告的地址是什么<代码>0x0还是一些非零值?
API\u BASE\u URL
是常量还是变量?我可能建议添加您自己的
NSAssert(url,@“url为零”)
在调用
stringWithContentsOfURL
之前,通过这种方式,您可以确定问题是URL还是
stringWithContentsOfURL
@Rob,报告的地址是0x1。API_BASE_URL是位于应用程序委托中的常量。感谢NSAssert上的建议,应用程序成功地通过了断言,但仍然在stringWithContentsOfURL上崩溃。0x1的地址似乎很奇怪(0x1的“代码”有意义,但不是0x1的“地址”)。零地址表示一类问题,非零地址(但仍然合理)表示另一类问题。如果地址0x1是真的,则表明存在根本不同的情况。尽管如此,我无法重现你的问题(我们也无法修复我无法重现的问题)。也许您可以创建一个演示来说明这个问题。