Life, Education, Death

プログラミング以外でも思ったことをつらつらと書きたい

ゾンビ狩り

よくよく、EXC_BAD_ACCESSが起きて頭を抱えることが多いiOS開発では、開発中はゾンビを検出するオプションをつけておくと作業がはかどる。

Product->Edit Schema->Enviroment Variables
で以下の環境変数をYESに設定しておくと、クラッシュ時にどのクラスが原因か、わかるようになる。

NSZombieEnabled : 解放済みのオブジェクト:"ゾンビオブジェクト"※1にメッセージを送出した場合に例外で通知する

参考:深淵へ - ゾンビオブジェクトを検出する (Xcode編) - Kazzzの日記


今回は使わなかったが、Instrumentsを使ってゾンビ探しを簡単にできるようだ。

シュミレーターの場合はInstrumentsにZombieプロファイルがあるのでそれを使う

実機の場合はここを参考に