|
.NET TIPS
特定の条件のときにデバッグをブレーク(停止)させるには?[C#、VB]
デジタルアドバンテージ 一色 政彦
2007/12/27 |
 |
|
Visual Studio(以降、VS)で開発中のプログラムをデバッグする際には、次の画面のように、プログラムのデバッグ実行をブレーク(=停止)させたい場所にブレークポイントを設定する。
 |
Visual Studioでのブレークポイントの設定 |
ブレークポイントを設定するには、ブレークさせたい行で[F9]ボタンを押すか、コード・エディタの左端にある余白部分(=この画像のマウス・カーソルのある辺り)をクリックするか、メニュー・バーから[デバッグ]−[ブレークポイントの設定/解除]を選択すればよい。 |
しかし実際のデバッグ作業では、「特定の条件のときのみブレークさせたい」ということがよくある。例を挙げると、上の画面のコード(C#)では1000回のループを回しているが、例えば「999回目のときのみブレークさせたい」という場合、1〜998回の間、すべてブレークされてしまうと面倒なうえ作業効率も悪い。こういった問題を回避して特定の条件でデバッグをブレークさせる方法を紹介する。
VS 2005/2008と、VS.NET 2002/2003では操作方法が少し違うので、それぞれの方法について紹介する。
特定の条件でデバッグをブレークさせる方法(VS 2005/2008)
VS 2005/2008の場合。
まず、VSの(C#やVBなどの)コード・エディタで、ブレークポイントを設定する(先ほどの画面を参照)。次にコード・エディタの左端にある余白部分に表示されている赤丸のブレークポイントの印を右クリックし、表示されるコンテキスト・メニューから[条件]を選択する。
 |
ブレークポイントの[条件]を設定する手順(VS 2005/2008) |
[ブレークポイントの条件]ダイアログが表示されるので、ここに条件を設定して[OK]ボタンをクリックする。ここでは、「999回目のときのみブレークさせたい」ので、条件として「i==999」(変数「i」が「999」と等しいとき)を入力する。※なお、(「==」ではなく)「=」とすると代入になってしまうので注意してほしい。「>」「<」「>=」「<=」なども利用できる。
 |
[ブレークポイントの条件]ダイアログでの条件の設定(VS 2005/2008) |
999回目のときのみブレークする条件を設定している例。 |
|
 |
[条件]チェックボックスはチェックを入れたままにする。 |
|
 |
条件式を記入する。「i==999」という記述は「変数『i』が『999』と等しいとき」を意味する。 |
|
 |
[true の場合]を選択すると、条件式で得られる値がtrueのときにデバッグがブレークする。 |
|
 |
[変更された場合]を選択すると、 の条件式で得られる値が変更されたときにデバッグがブレークする。 |
|
以上で設定は完了だ。後は実際にデバッグ実行すると、次のように条件に合わせてデバッグがブレークされる。
 |
特定の条件でデバッグがブレークする |
特定の条件でデバッグをブレークさせる方法(VS.NET 2002/2003)
VS.NET 2002/2003場合。
まず、VSの(C#やVBなどの)コード・エディタでブレークポイントを設定したい行に入力カーソルを合わせ、メニュー・バーから[デバッグ]−[ブレークポイントの作成]を選択する。
 |
ブレークポイントを設定して[条件]を設定する手順(VS.NET 2002/2003) |
まず[ブレークポイントの作成]を行う。 |
|
 |
ブレークポイントを設定したい行に入力カーソルを合わせる。 |
|
 |
メニュー・バーから[デバッグ]−[ブレークポイントの作成]を選択する。 |
|
[ブレークポイントの作成]ダイアログが表示されるので、[ファイル]タブを選択して、[条件]ボタンをクリックする。[ブレークポイントの条件]ダイアログが表示されるので、条件を設定して[OK]ボタンをクリックする。ここでは、先ほどと同様に、条件として「i==999」を設定する。
 |
[ブレークポイントの条件]ダイアログでの条件の設定(VS.NET 2002/2003) |
999回目のときのみブレークさせる条件を設定している例。設定内容の詳細は、前述の「[ブレークポイントの条件]ダイアログでの条件の設定(VS 2005/2008)」を参照してほしい。 |
以上で設定は完了。後は実際にデバッグ実行すると、指定した条件でデバッグがブレークする。
カテゴリ:クラス・ライブラリ 処理対象:デバッグ&トレース
カテゴリ:Visual Studio .NET 処理対象:IDE
カテゴリ:Visual Studio 2005 処理対象:IDE
カテゴリ:Visual Studio 2008 処理対象:IDE |
|
generated by
|
|
Insider.NET 記事ランキング
本日
月間