2012-02-18 13 views
0

私はかなりのタイトルを知っています。iOSプライベートコードのiOS信号例外のデバッグ

しかし、私はこれらの不思議なエラーを続けるように思われる&すべてのGDBは、私がAppleのコードthats gone bangの行番号であることを示しています。私。

0x028235bd <+0025> jne 0x28235dd <_ZN2CA5Layer15collect_layers_EPNS0_17CollectLayersDataE+57> 
0x028235bf <+0027> mov 0x4(%eax),%ecx 
0x028235c2 <+0030> test %ecx,%ecx 
0x028235c4 <+0032> js  0x28235dd <_ZN2CA5Layer15collect_layers_EPNS0_17CollectLayersDataE+57> 
0x028235c6 <+0034> mov 0x8(%ebp),%edx 
0x028235c9 <+0037> mov 0x78(%edx,%ecx,4),%edx   <---- EXC_BAD_ACCESS 

私はちょうど私が知っている以上は、解放オブジェクトが再びアクセスされていることを示していることを反復します。しかし、スタックトレースやレジスタ値を持たないときにどうすればデバッグできますか?

それはEXC_BAD_ACCESSだけでなく、SIGABRTエラーでもない場合、NSZombieEnabledトリックを使用できます。

(さらに注意点としては、この呼び出しのトレースがViewControllersなどに関連しているので、これらをデバッグする任意のポインタがあまりにも参考になる)、再び

感謝。

答えて

1

xCodeを開き、コマンド+ 6を押し、下部にある「+」ボタンをタップし、例外ブレークポイントの追加を選択して、完了を押します。例外がスローされると、xCodeはスローしたコード行をハイライトします。

+0

私はこれを試して、うまくいきません。例外がスローされた瞬間に一時停止します。しかし、例外がスローされた理由はわかりません。 (私はレジスタ値なしでmain.mに戻ってきた) – Ryan