Почему в приложении iOS появляется ошибка EXC_ARITHMETIC? - PullRequest
2 голосов
/ 09 октября 2011

Мое приложение аварийно завершает работу и получает ошибку EXC_ARITHMETIC, и я не знаю почему.Вот где происходит ошибка:

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

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

Ошибка возникает, когда я нажимаю кнопку в приложении, она подключается в моем файле ViewController.m, например:

- (IBAction)btnPressed:(UIButton *)sender {
    [self btnPressed];
}

Который вызывает этот код из того же файла:

- (void)btnPressed {
    NSString *strInfo = [[NSString alloc] initWithString:@"Test Info. \r\n"];
    NSData *dataInfo = [strInfo dataUsingEncoding:NSUTF8StringEncoding];
    [strInfo release];
    [socket writeData:dataInfo withTimeout:-1 tag:1];
}

btnPressed также вызывается, когда приложение загружается, и оно НЕ выдает ошибку.Кроме того, если я добавляю точку останова в строку [self btnPressed];, то, когда я нажимаю кнопку в приложении, она работает, останавливается на точке останова, а когда я нажимаю «продолжить выполнение программы», она также работает без ошибок.

Примечание. Я использую CocoaAsyncSocket для связи с приложением Cocoa.

1 Ответ

0 голосов
/ 09 октября 2011

Это, похоже, проблема только с iOS 5 sim, нормально работающей в iOS 4.3.

...