http://ndevmemo.blog.shinobi.jp/Entry/58/
unrecognized selector sent to instance
unrecognized selector sent to instance Terminating app due to uncaught exception XCode において上記エラーのように、セレクタがなくて例外が発生した場合、 デバッガが run loopで停止して原因箇所が分かりにくい。 解決方法1 gdbのコマンドラインから b __raiseError または、Xcodeの、実行/ブレークポイントを管理/シンボリック ブレークポイントを追加で __raiseError を追加 例外が発生する前にブレークする 解決方法2 例外が発生してしまった後、どこで起きたかを探る デバッガの出力 2008-12-24 11:26:04.089 hogehoge[30592:20b] Stack: ( 2487701771, 2475978299, 2487730954, 2487724300, 2487724498, 17384, 23290, 22894, 23740, 38791, 11319, 816379725, 816409420, 816216335, 816148471, 816144856, 827735530, 827745292, 2487203317, 2487205080, 827737600, 827737797, 816114840, 816160916, 9636, 9490 ) この表示は例外で飛ぶ前のスタックフレーム(プログラムカウンタ)、 10進数なので 上から順にみて数値がお大きく変わるあたりに注目。 ユーザーコードとライブラリでそこそこ分離した場所に ロードされるので、どこからがユーザーコードなのか大体の判断がつく。 この場合は6番目の17384に注目。 このアドレスのソースコードを出してみる。 特定アドレスのリストを出すには list に * 付き引数。 (gdb) list *17384 普通はこれでばっちり原因箇所が出るはずだ。 ソースが出ない(ライブラリ内だったり)する場合は 他のアドレスを試せばok