デバッガによる分析
ブレークポイントで検査する
通常のアプリケーション開発で使われる一般的なデバッグ手法と同じように、ブレークポイントを用いて Unity で実行中のゲームを指定のプログラムの位置で停止し、変数の内容や呼び出し順序を調べることが出来ます。ただし、ブレークポイントで停止するには Mono Develop を使わなければならず、Visual Studio ではできません。
ブレークポイントを有効に働かせるには、まず Unity を設定する必要があります。「Edit」メニューの「Preferences」項目を選択し、表示された設定ダイアログの左部から「External Tools」項目を選択します。「External Tools」パネルが表示されるので「External Script Editor」項目を「MonoDevelop (built-in)」に設定し、「Editor Attaching」項目にチェックを入れてください。
続いて、開発用ビルドの設定を行います。「File」メニューの「Build Settings...」項目を選択し、表示されたダイアログ内にある「Platform」リストの中から「PC, Mac & Linux Standalone」項目を選択し、表示された設定パネルから「Development Build」チェックボックスと「Script Debugging」チェックボックスにチェックを入れてください。
以上で Unity 側の設定は終了です。
MonoDevelop 側では、デバッグ対象となるプロセスを選択します。「Run」メニューから「Attach to Process...」項目を選択してください。
デバッガーから接続可能なプロセスが列挙されているので、デバッグ対象となるプロセスを選択して「Attach」ボタンを押します。通常は Unity 上で実行されているゲームをデバッグすることになりますが、ビルドされた実行ファイルや、Android および iOS で実行されているプロセスでもデバッグできます。
以上でブレークポイントでゲームを停止させるための設定は終了です。 Unity のスクリプトを MonoDevelop で開き、エディタの左部にある余白から、停止させたい行をクリックします。赤い丸アイコン(グリフ)が表示されるので、実行時に処理がグリフに到達すると、その場で実行が中断され、デバッガで変数に保持されている値などの状態を確認できます。
変数の値の確認程度であれば、前述した Debug.Log() で出力することでも見れますが。複数の変数の内容を確認したい場合や、メソッドの呼び出し順序など、詳細なコード分析には IDE のデバッガが便利です。