この記事ではVisual Studioを使ったデバッグの基本について紹介していきます。
デバッグとは
デバッグとはバグを見つけて取り除くことです。
アプリを作っている時に自分の実装したい処理を書いていくと思いますが、
その処理が本当に正しく動いているのか確認しますよね。
その時にバグがあったら困るのでデバッグを行います。
デバッグの題材
今回は下記のコードをデバッグしていきます。
class Program
{
static void Main(string[] args)
{
int num = 5;
string numDisplay;
for (int i = 1; i <= 10; i++)
{
numDisplay = Add(i, num).ToString();
Console.WriteLine(numDisplay);
}
int Add(int x, int y)
{
return x + y;
}
}
}
何の値が入っているのがわかりにくいですね。
このコードに対してVisual Studioのデバッグ機能を使うと、
1行ずつコードを見ることができ、変数に何の値が入っているのか確認できるようになります。
コンソールアプリでこちらのコードを確認していきます。
Visual Studioのデバッグ機能
ではここからVisual Studioに搭載されているデバッグの基本機能について
紹介していきたいと思います。
ブレークポイント
ブレークポイントとはプログラムを1行ずつ見ながら実行させたいときに使います。
ブレークポイントを使うときは「ブレークポイントを張る」などの言い方をします。
プログラムを実行すると一瞬で結果が出力されます。
一瞬で結果が出力されるのはいいですが、
エラーが発生した時にどこで何の値が入っているのかを把握しにくいです。
そこで、ブレークポイントを使うと
1つずつ処理を見ていけるのでエラーの原因を特定しやすくなります。
では先ほどのコードをブレークポイントを使ってデバッグしていきましょう。
Visual Studioで左側の少し薄い黒の箇所をクリックするとブレークポイントを張ることができます。
今回はfor文のブロックの開始位置でブレークポイントを張りたいと思います。
こちらで実行を押すと下記のようになります。
ブレークポイントを張った場所でプログラムが止まります。
そして、変数にカーソルを合わせると、その変数に格納されている値を確認することができます。
ステップオーバー
続いて下記の画像のボタンをクリックしてみましょう。
左の黄色の矢印が一行下にいきました。
こちらの機能はステップオーバーという機能です。
ステップオーバーとは1行ずつプログラムを進めていくものです。
ブレークポイントを貼った後、1行ずつ処理の流れを見たいときにこちらを使います。
ステップオーバーはメソッドには潜り込みません。関数の呼び出しの箇所は進みますが、
定義されている箇所までは進みません。
ショートカットキーはF10でこちらを押しても使うことができます。
ステップイン
一度、「デバッグの停止」を押して、再度実行を押します。
次に下記の画像のボタンをクリックしてみましょう。
先ほどと同じく1行進みました。
ではもう一度押してみましょう。
次の行ではなく、Add関数の定義されている箇所まで移動しました。
こちらはステップインという機能です。
ステップインとは1行ずつプログラムを進めていくもので、
関数の箇所まで進むと関数の定義している箇所に進みます。
定義されている内容まで見たかったらステップインを使うとよいです。
ショートカットキーはF11でこちらを押しても使うことができます。
ステップアウト
先ほどの関数の定義されている箇所に入った状態で、下記画像のボタンをクリックしてみましょう。
クリックすると下記の画像のようになります。
Add関数が使われているところまで戻りました。
こちらの機能はステップアウトという機能になります。
ステップアウトとは関数の中身まで見ていて関数から抜けたいときに使います。
ステップインで深い箇所まで行ったときに使うと便利です。
抜けた時は関数が呼び出されているところに戻ってきます。
ショートカットキーはShift + F11でこちらを押しても使うことができます。
まとめ
いかがだったでしょうか。
今回紹介した機能について表にまとめると下記のようになります。
アイコン | 名称 | 機能の説明 | ショートカットキー |
ブレークポイント | プログラムを一行ずつ 実行しながら見たいとき | ||
ステップオーバー | 1行ずつ進めていく メソッドは潜り込まない | F10 | |
ステップイン | 1行ずつ進めていく メソッドの内容まで見る | F11 | |
ステップアウト | メソッドの中から出る | Shift + F11 |
デバッグ機能を上手く活用してバグを潰していきましょう。
ではでは!
コメント