Unityでのデバッグは面倒くさいと思っていた。Unityエディタからデバッガを起動できないし、Monodevelopからデバッガを起動すればブレークポイントで終了してくれるが、その際Unityエディタが2つ動くことになっていた。
なので、処理は基本的にモデル(処理を纏めた部分)とビュー(画面や挙動等)に分けて作成し、モデルのテストを記述することで「そもそもUnityのデバッグで確認する必要のない」状況を用意していた。
これはこれで正しい方法だと今でも思っているし(挙動の確認が簡単に出来るので、大規模にゲームを変更しない限りはかなりの保証ができる)。実際、これで助かったシーンがかなりある。
しかし、デバッガを使ってみて思った。
やばい・・・これ使いやすい・・・っ!
■デバッガを使用する
Unityでデバッグ(生存日記)
http://spphire9.wordpress.com/2011/04/30/unity%E3%81%A7%E3%83%87%E3%83%90%E3%83%83%E3%82%B0/
デバッガは基本的にmonodevelopからUnityにアタッチすることで動かすみたい。
まず、Monodevelopのメニューにある[Run]>[Attach to process...]を選択。次にProcess一覧から「Unity editor(Unity)」プロセスを選択して[Attach]を押す。これをしないとUnityが2つ動く。
後は、停止したい所にブレークポイントを配置してUnityを実行(いつもの再生ボタン)する。(ブレークポイントはソースコードの左側を選択すると設定できる)
これで、ブレークポイントで設定した場所でUnityが停止するようになる。その際、さらにスクリプトの変数にカーソルを合わせると実行中のパラメータ等も確認できるので、デバッグ作業が大分やりやすくなるはず。
さらに、Visual Studioと同じように「エラーが発生した場所で停止」もするらしい。これでエラー発生時なにがどうおかしいのか簡単に見つけることができるはず。
ちなみに停止中はUnityエディタが一切反応しないので注意。
割と食わず嫌いだったらしい。デバッガだけで組むのはちょっと品質的にどうよって気もするが、すごく簡単にデバグが出来るのでコレは便利。