Help us understand the problem. What is going on with this article?

Visual Studio Code を利用して Unity アプリをデバッグする

More than 3 years have passed since last update.

Visual Studio Code 0.10 にて、サードパーティによる機能拡張がサポートされました。

これに伴って、Unity デバッガの機能拡張が公開されました。

今回は、この機能拡張を利用して Unity アプリをざっくりとデバッグしてみることにしましょう。

Getting Started

Visual Studio Code のインストールから、Unity デバッガの機能拡張の初期設定については、こちらの記事に書いてある通りにやりましょう。スクリーンショット付きなので、楽勝です。

ブレークポイントで止める

まずは、おもむろに、ソースコードの行数表示の隣りの辺りをクリックしてみましょう。ブレークポイントが付いたり消えたりしますね。それでは、好きなところにブレークポイントを張ってみましょう。そして、Unity でアプリを実行したあとに、デバッガタブにあるデバッグ開始ボタンを押下しましょう。

debug_start.png (832.6 kB)

これでデバッグを始める準備は完了です。アプリを操作して、ブレークポイントで止めてみましょう。

stop_breakpoint.png (854.2 kB)

ブレークポイントで処理が止まると、自動的に Visual Studio Code に制御が移ります。ブレークポイントで止まっている行が黄色く表示されていますね。

デバッグしてみる

デバッグ中は、画面中央上部にデバッガパネルが表示されます。

debugger_panel.png (136.4 kB)

デバッガパネルの使い方は、大体、こんな感じになります。

名称 コマンド 説明
Continue F5 一時停止している処理を再開して、次のブレークポイントまで進める
Step Over F10 同一スコープ内にあるコードを一行ずつ進める
Step Into F11 スコープを限定しないでコードを一行ずつ進める
Step Out Sfhit + F11 現在、実行しているメソッドの呼び出し元までコードを進める
Reconnect - 何らかの要因で Unity アプリとの接続が切断されたときに、再接続する?
使い方よく分かってないので、知ってるひといたら教えて下さい
Disconnect - Unity アプリとの接続を切断してデバッグを終了する

これらを駆使して、デバッグを進めましょう。

変数を見る

VARIABLES ビューで確認出来ます。トグルキーをどんどん開くことで、クラス内部が持つ変数まで見ることが出来ます。

variables.png (297.9 kB)

変数の変化を監視する

特定の変数名上で右クリックから表示されるコンテキストメニューから Debug: Add to Watch を選択することで、変化を監視することが出来ます。監視対象に設定した変数は、WATCH ビューからいつでも確認出来ます。特定の値の変化を追い続けるときに便利ですね。

watch.png (72.2 kB)

コールスタックを確認する

CALLSTACK ビューで確認出来ます。クリックすることで、コードが存在する場合のみ、呼び出し元のコードを表示することが出来ます。

callstack.png (180.2 kB)

ブレークポイントを確認する

BREAKPOINTS ビューで確認出来ます。

breakpoints.png (32.6 kB)

一時的に全てのブレークポイントを無効化したり、不要になったブレークポイントを消したりすることが出来るっぽいです。

デバッグコンソール

デバッグコンソールを起動すると、対話的にコマンドを実行することが出来ます。値を書き換えたりも出来ます。

console.png (100.7 kB)

まとめ

まぁまぁ、普通にデバッグは出来る感じでいいですね。Visual Studio Code は何より軽くてサクサク動きますし、自動補完も効きますし、機能拡張もリリースされて、今後、更に活気付いてくると思うので、ヨサがあります。

合わせて読みたい

fakestarbaby
嫁と娘(7歳)と息子(4歳)を愛するパパエンジニア Unity, C#, CoronaSDK, Lua, Ruby, Rails
http://blog.fakestarbaby.com/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした