- Unity6 (6000.0.23f1)
- Visual Studio 2022 (17.8.6)
このページではUnityエディターでデバッグする方法を記載しています。
Visual Studioの設定
まずはVisual Studioでデバッグしたいスクリプトファイルを開き、ブレークポイントを設定します。


赤丸が表示され、ブレークポイントの行が赤くなればブレークポイントの設定はOKです。
再度クリックするとブレークポイントが解除できます。
ツールバーの「Unityにアタッチ」または「デバッグなしで開始」どちらでもいいので緑の三角ボタンをクリックするとVisual Studioのデバッグ準備は完了です。

Unityエディター
Visual Studioでデバッグ準備が出来たらUnityエディターに戻ります。
この時にUnityエディター側でデバッグモードを有効にするか聞かれるダイアログが出たら有効にします。

デバッグモードに切り替わるのに少し時間がかかるので、右下のクルクルが止まるまで待機します。
クルクルが止まったらいつも通りゲームを実行するとデバッグできます。

デバッグ
Visual Studioの方を確認すると、先程設定したブレークポイントの行が黄色になっています。
黄色の行は次に実行するコードです(まだ実行されていない状態)。

上記のサンプル例だとforループの初回処理前の段階ですので、int型の変数sumは0です。
デバッグ中は変数が現在どのような値を保持しているか確認できます。

変数名に直接カーソルを当てることでも確認できます。


ツールバーの「ステップオーバー」をクリック、または「F10」キーで現在の黄色の行の処理を行い、次の行に進みます。

処理が進むと変数に格納されている値も変化するので、これを確認しながらデバッグしていく形になります。
以下の画像は2ループ目の処理が終了した段階の各変数の値です。

2ループ目ではiが1なので、sumは 0 + 1 = 1と想定通りの数値が保持されています。
デバッグを終了したい時はツールバーの「デバッグの停止」で終了できます。

デバッグは処理が行われて想定通りの値が保持されているかどうかを確認する作業になります。
結構面倒な作業ですが、特に全然想定通りの結果にならない場合はデバッグするとすぐに解決できてハッピーになれます。