[Xcode] EXEC_BAD_ACCESSのデバッグ方法
EXEC_BAC_ACCESSとは、いわゆる不正なメモリアクセス(ポインタ操作)を行った際に発生するエラーである。通常は、解放済みの変数にアクセスしようとしたり、解放済みの変数をもう一度解放したりなどが、それにあたる。
ここ1週間Objective-Cを使ってみた感じでは、ポインタと言ってもゴリゴリとポインタの数値を直接操作する機会は無く、単に参照を持つというのに使うことがほとんどのようだ。
不正なメモリアクセスに関しては、ツールさえあれば原因を調べやすい類のバグなので安心して欲しい。ここでは、便利なデバッグオプションを紹介したいと思う。
Xcodeのメニューから「プロジェクト」-「アクティブな実行ファイル」を選び、「引数」タブにある「環境変数」に以下の4項目を設定すると原因は一目瞭然になる。
ただし、上の2つに関してはメモリーを消費しやすいので、搭載メモリーが少ないiPadなど実機デバイスを利用したクロスデバッグ時には、このオプションが原因で落ちる事もあるようなので、注意したい。


