久しぶりのiPhoneアプリ関連記事です。

エラーで困るものの一つがEXE_BAD_ACCESSで、
もう一つがSIGABRTです。

たいていのSIGABRTはきちんとエラー内容をLogに書いてくれるのですが、なぜかときどき書いてくれない時があります。
そんな時の対処法を見つけたのでメモメモ。

やり方は簡単で、try catchするだけ。

自分は大本のmain関数でtry catchを組み込みました。
[objc]
int main(int argc, char *argv[])
{
@autoreleasepool {
@try {
return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppAppDelegate class]));
}
@catch (NSException *exception) {
NSLog(@"%@",exception);
}
}
}
[/objc]

これに、NSLogのところにbreakpointをつけることできちんとエラー内容を知ることができました。
エラーが出て原因がわからない・・・というときはためしてみるといいかもしれません。

 

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>