|
.NET TIPS
トレースポイントを使ってトレース情報を出力するには?[VS 2005、VS 2008]
デジタルアドバンテージ 遠藤 孝信
2008/09/18 |
|
|
Visual Studio 2005や2008では、任意のコード行に「トレースポイント」を設定し、プログラム実行時にトレースポイントにおけるトレース情報を[出力]ウィンドウに表示させることができる。
トレースポイントはブレークポイントの一種であるが、ブレークポイントとは異なり、その個所でプログラムの実行は中断されず、あらかじめ指定された内容のメッセージを表示する。本稿ではトレースポイントの基本的な使い方を紹介する。
トレースポイントの設定方法
トレースポイントの設定は簡単で、まずトレース情報を出力させたいコード行でマウスを右クリックし、コンテキスト・メニューから[ブレークポイント]−[トレースポイントの挿入]を選択する。
|
図1 トレースポイントの挿入 |
トレース情報を出力させたい行でマウスを右クリックし、コンテキスト・メニューから[ブレークポイント]−[トレースポイントの挿入]を選択する。画面は、Windowsフォーム・アプリケーションのプロジェクトで、フォームに配置したボタンのイベント・ハンドラの最後の行にトレースポイントを設定しているところ。 |
これにより、次のようなダイアログが開く(図2)。この画面はダイアログの初期の状態である。
|
図2 トレースポイント挿入時に開くダイアログ |
デフォルトで、表示するメッセージが設定され、「続けて実行する」がオンになっている。 |
取りあえずこのまま[OK]ボタンをクリックしてダイアログを閉じると、エディタ画面では、トレースポイントが設定された行に赤いひし形のマークが表示される(図3)。
|
図3 トレースポイントが設定された行を示す赤いひし形マーク |
|
以上の設定で、ひし形マークの付いた行が実行されるたびに、[出力]ウィンドウにメッセージが表示される。上記の設定の場合には、[出力]ウィンドウの表示は例えば次のようになる。
|
図4 [出力]ウィンドウの表示例 |
赤枠で囲んだ3行がトレースポイントにより出力されたメッセージ。ここではアプリケーションのボタンを3回クリックした(=トレースポイントを設定したメソッドが3回実行された)。 |
トレースポイントにより表示されるメッセージ
上記のダイアログ(図2)で、デフォルトで設定されているメッセージは以下のような内容である。
Function: $FUNCTION, Thread: $TID $TNAME
|
|
トレースポイントにデフォルトで設定されているメッセージ |
これにより出力されるメッセージ(トレース情報)は、次のようなものになる。これはトレースポイントが設定されていたメソッドの名前($FUNCTION)と、実行時のスレッドID($TID)およびスレッド名($TNAME)を表示している。
Function: WindowsApplication1.Form1.Button1_Click(Object, System.EventArgs), Thread: 0x64C メインスレッド
|
|
上記のメッセージ設定による出力 |
メッセージ内で利用可能なキーワード($FUNCTIONや$TID)は、図2のダイアログで示されているものに加えて、CPUティック(チック)数を示す「$TICK」、ファイル内での位置を示す「$FILEPOS」が使用できる。
また、図2のダイアログに書いてあるように、トレースポイントが実行された時点の変数の値を出力することも可能だ。例えば、以下のようなメッセージを設定した場合、
実際の出力は次のようになる。
変数eの内容は{X = 37 Y = 10 Button = Left {1048576}} です。
|
|
上記のメッセージ設定による出力 |
この例では、変数eはボタンのClickイベント・ハンドラに渡されたEventArgsオブジェクトである。 |
従来このようなトレース情報を得るには、Traceクラス(System.Diagnostics名前空間)などをコード中に埋め込んで出力させる必要があったが、トレースポイントを使えばコードにまったく手を加えることなくそれが可能になる。
カテゴリ:Visual Studio 2005 処理対象:IDE
カテゴリ:Visual Studio 2008 処理対象:IDE
使用ライブラリ:Traceクラス(System.Diagnostics名前空間)
|
|
generated by
|
|
Insider.NET 記事ランキング
本日
月間