VB.NETでプログラムを行っていると、エラーが発生すると思います。
なぜエラーになったのか調査する必要があるのですが、
その時に、とても便利なのが「デバッグ」と呼ばれる機能です。
デバッグとは、プログラムでエラーが発生した時の原因であるバグを取り除くという意味になります。
それでは、VB.NETでのデバッグ方法を紹介していきます。
ブレークポイントの張り方
デバッグを行うにはまずブレークポイントを張りましょう。
ブレークポイントを張ることで、ブレークポイントの位置でプログラムの処理を一時停止させることができます。
一時停止させることで、その時点での変数の値などを確認することができます。
上記画像の赤い枠の部分をクリックすることでブレイクポイントを張ることができます。
ブレイクポイントを張った行が、赤いマーカで塗られていると思います。
これでブレイクポイントを張ることができました。
デバックモード実行
続いて、debugモードで処理を実行してみましょう。
下記画像のように、「Debug」になっていることを確認し、「開始」をクリック
処理を実行すると、先ほどブレイクポイントを張った場所に処理が来ると、赤いマーカーから黄色いマーカーに色が変わったと思います。
これで、ブレイクポイントで処理を一時停止することができました。
値確認 カーソル移動
処理を一時停止させている状態になるので、
この状態で、変数の部分にカーソルを移動させてみましょう。
上記の画像のように、変数の値を確認することができます。
上記の例であれば、int_d = 0 int_c = 20 というのが確認できますね。
値確認 ウォッチ
カーソルを移動させるだけで簡単に値を見ることができますが、ウォッチ機能でも値を見ることができます。
VisualStudioの画面に、ウォッチと呼ばれるウィンドウがあると思うので、そこに変数名を入力してみましょう。
上記画像のように、名前を入力すると、値を確認することができます。
処理を一行ずつ動かす
一時停止した、処理を進めていきましょう。
その際に、1行ずつ進める方法などよく使用するコマンドを紹介します。
赤い枠で囲った5つの処理を私はよく使用します。
名前 | ショートカットキー | 意味 |
続行 | 「F5」 | 処理を再度動かす。 |
デバッグの停止 | 「Shift」 + 「f5」 | 処理を中断。 |
ステップイン | 「F11」 | 処理を1行進める。関数があれば中に入る。 |
ステップオーバ | 「F10」 | 処理を1行進める。関数の中には入らず、関数の処理が実行される。 |
ステップアウト | 「Shift」 + 「F11」 | 関数内で処理が一時停止している時、呼び出し元まで処理を進める。 |
これらのデバッグを利用して、処理を1行ずつ進めてエラーの原因を突き止めていきましょう。
ブレイクポイント 条件設定
最後にブレイクポイントの条件を設定する方法を紹介します。
回数の多いループがある処理で、ブレイクポイントを張りたい時によく使用します。
例えば、100回ループする処理があり、50回目のループで処理を一時停止させたい時に使用します。
このままでは、毎ループ処理が一時停止されてしまいます。
毎回F5を押してもできるのですが、回数が多いと大変なので、条件を指定します。
赤い丸の部分で右クリックを押してみましょう。
「条件」の部分をクリックすると下記画像のような画面が表示されます。
そこの条件の部分に、「i=50」と入力してみましょう。入力出来たら閉じるを押してください。
赤い丸に「+」マークが乗っていたらOKです。
実行してみましょう。
i=50の時のみ、ブレイクポイントで一時停止しました。
このように、自分で条件を指定することで特定の場合のみブレイクポイントを使うことができます。
まとめ
今回はデバッグのやり方を紹介しました。
デバッグを使いこなすことでプログラムのエラーの原因を突き止めることができます、必ず使い方を抑えておきましょう。
使い方は基本的にはブレイクポイントを張ることで利用できるので非常に簡単です。
是非使ってみてください。