こんにちは。たいら(@tairaengineer2)です。
何故か結果が想定と違うものになったり、システムエラーが発生したとき、よくお世話になるのがデバッグという機能です。
デバッグをするためには、ブレークポイントを設定することが不可欠です。
この記事では、Visual Studioでデバッグするために必要なブレークポイントの設定のやり方について解説します。
スポンサーリンク
前提条件
この記事では、Visual Studio 2017 Communityを使っています。
インストールの仕方は、下の記事をご参考ください。
そもそもブレークポイントとは
ブレークポイントとは、デバッグしたとき設定した箇所に必ずそのコードを実行する前に止まってくれるとても便利なものです。
ブレークポイントは
- 変数の中身は何なのか
- if文の分岐はあっているのか
- メソッドで返される値は想定通りか
などなど、いろんなケースを確認できます
ブレークポイントの設定方法
では、ブレークポイントの設定の仕方を解説します。
ブレークポイントを設定したいプログラムを開きます。
今回は、以下の場所にブレークポイントを置きます。
- 18行目
- 20行目
- 26行目
ブレークポイントの設定の仕方は本当に簡単で、下の画像の赤枠で囲っている箇所のクリックするだけで設定できます。
18行目をクリックすると
クリックした箇所に赤い丸が設定されます。
これでブレークポイントの設定が完了です。
同じように20行目と26行目に設定します。
これでデバッグするための準備が整いました!
ブレークポイントを設定するおすすめな場所
ブレークポイントは色んな場所に設定することができます。
ケースバイケースですが、特にココにブレークポイントを設定するのがおすすめなのは
- if文
- 引数があるメソッドの最初の行
- 例外が発生する直前の行
です。
1つずつ解説します。
ブレークポイントを設定するオススメ1:if文
if文にブレークポイントを置くとどうやって判定されているのかが分かります。
下の画像のように設定していたとします。
using System;
namespace ConsoleApp1
{
/// <summary>
/// デバッグの基本
/// </summary>
class Program
{
/// <summary>
/// メイン
/// </summary>
/// <param name="args"></param>
static void Main(string[] args)
{
string[] debugList = { "a", "bbbb", "cccccc" };
foreach(string debug in debugList)
{
if (debug.Length % 2 == 0)
{
Console.WriteLine("文字列の長さが偶数:" + debug);
}
else
{
Console.WriteLine("文字列の長さが奇数:" + debug);
}
}
}
}
}
この状態でデバッグすると
if文のところで止まってくれるので、変数の中身を確認することができます。
中身を確認できるので【debug.Length】が1だから【else】の方に行くということが分かります。
このようにブレークポイントを調べたいif文の前に置くことはとても便利です
ブレークポイントを設定するオススメ2:引数があるメソッドの最初の行
メソッドの最初の行にブレークポイントを置くと便利です。
- 何が引数として設定されているのか
- その引数はどのように使われているのか
などが分かります。
ブレークポイントを設定するオススメ3:例外が発生する直前の行
例外が発生する直前の行に置くと、例外が発生する直前の状態を確認することができます。
そこで何がおかしいのかを確認して、バグの原因がどこなのかを探っていくことが出来ます。
スポンサーリンク
まとめ:考えながらブレークポイントを設定しよう
以上がVisual Studioでブレークポイントを設定するやり方です。
あなたのご参考になったのなら、とても嬉しいです(*´▽`*)
ではでは~(・ω・)ノシ
ほかにもVisual Studio解説記事を書いてます。
よければご参考ください。
【Visual Studio】コマンドライン引数に値を設定して実行するやり方を解説します
【Visual Studio】プログラムの行番号を表示するやり方を解説します
今までブログで書いたVisual Studioの解説記事のまとめは、こちらをご参考ください。