|  | 
 
| .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 記事ランキング
		
		
			本日
			月間