1

私のユーザーの1人が、自分のデバイスであるiPhone3GSのクラッシュを報告しています。同じタイプの他のデバイスは、同様の動作を報告していません。彼は私にクラッシュログを送ってくれました、そしてそれを読んだことに基づいて、私はどのように進めるかわかりません。クラッシュログを誤って解釈していないことを願っていますが、アクションがまだ呼び出されていないようです。

これが私がUIBarButtonItemを作成して設定する方法です:

- (void)viewDidLoad {
    [super viewDidLoad];
    UIBarButtonItem *addButton = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemAdd  target:self action:@selector(addLog:)];
    self.navigationItem.rightBarButtonItem = addButton;
    [addButton release];
}

これが私の行動方法です:

- (IBAction)addLog:(id)sender {
    MyViewController *myController = [[MyViewController alloc] initWithNibName:@"MyNib" bundle:nil];
    UINavigationController *subNavigationController = [[UINavigationController alloc] initWithRootViewController: myController];
    [self presentModalViewController:subNavigationController animated:YES];
    [myController release];
    [subNavigationController release];
}

これはクラッシュログです:

例外タイプ:EXC_CRASH(SIGABRT)
例外コード:0x00000000、0x00000000クラッシュしたスレッド:0
スレッド0がクラッシュしました:
0 libSystem.B.dylib 0x0007e98c __kill + 81 libSystem.B.dylib 0x0007e97c kill + 4
2libSystem.B.dylib0x0007e96eレイズ+10
3libSystem.B.dylib0x0009361aアボート+34
4 MyApp 0x000042e8 0x1000 + 13032
5 CoreFoundation 0x00058ede-[NSObject PerformSelector:withObject:withObject:] + 18
6 UIKit 0x0004205e-[UIApplication sendAction:to:from:forEvent:] + 78
7 UIKit 0x00094d4e-[UIBarButtonItem(Internal)_sendAction:withEvent:] + 86
8 CoreFoundation 0x00058ede-[NSObject PerformSelector:withObject:withObject:] + 18
9 UIKit 0x0004205e-[UIApplication sendAction:to:from:forEvent:] + 78
10 UIKit 0x00041ffe-[UIApplication sendAction:toTarget:fromSender:forEvent:] + 26
11 UIKit 0x00041fd0-[UIControl sendAction:to:forEvent:] + 32
12 UIKit 0x00041d2a-[UIControl(Internal)_sendActionsForEvents:withEvent:] + 350
13 UIKit 0x0004263e-[UIControl touchesEnded:withEvent:] + 330
14 UIKit 0x00041656-[UIWindow _sendTouchesForEvent:] + 318
15 UIKit 0x00041032-[UIWindow sendEvent:] + 74
4

1 に答える 1

2

クラッシュレポートは象徴されていません。私はラインのために電話をかけることができます:

4   MyApp                               0x000042e8 0x1000 + 13032

シンボリッククラッシュレポートでは、この行はクラッシュが発生したメソッドを示します。

リリースビルドを作成すると、デバッグシンボルがバイナリから削除されます。ビルド後にビルドフォルダにあった.dSYMファイルとアプリケーションバンドルを保存する必要があります。

これらは、クラッシュレポートを象徴するために必要です。

これらのファイルを保存している場合は、スポットライトがアクセスできる場所にあることを確認する必要があります。クラッシュレポートがユーザーから送信された場合は、Xcodeの[オーガナイザー]ウィンドウの[クラッシュレポート]タブにドラッグしてみてください。これは、クラッシュレポートを象徴することを試みる必要があります(ただし、.dSYMとappバンドルがある場合にのみ成功します)。

于 2010-03-30T13:41:06.980 に答える