2

アプリがクラッシュし、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];行にブレークポイントを追加すると、アプリのボタンをクリックすると機能し、ブレークポイントで停止し、[プログラムの実行を続行] をクリックすると、エラーも発生せずに機能します。

注: Cocoa アプリとの通信に CocoaAsyncSocket を使用しています。

4

1 に答える 1

0

これは、iOS 4.3 で正常に動作する iOS 5 sim のみの問題のようです。

于 2011-10-09T17:37:46.597 に答える