.NET TIPS

[ASP.NET]ページのトレース情報を出力するには?

デジタルアドバンテージ
2003/06/20

 ASP.NETでは作成したWebアプリケーションのデバッグやプロファイルのために、トレース情報を表示するための機能が用意されている。

ページ・レベルのトレース表示

 まず、各ページについてのトレース情報を表示するには、Visual Studio .NETではプロパティ・ウィンドウの一番上にあるドロップダウン・リストボックスで[DOCUMENT]を選択してから(フォームのDOCUMENTプロパティ)、traceプロパティを「true」に設定する。これは.aspxファイルの先頭に記述する「@ Page」ディレクティブの属性として「trace="true"」を追加するのと同等だ。

 この状態でアプリケーションを実行すると、次の画面のように、ページ出力と同じ画面内にトレース情報が表示される。なおこの画面は、ページのレイアウト・モードが「フロー・レイアウト」の場合である。レイアウト・モードが「グリッド・レイアウト」の場合には、各コントロールの表示位置が絶対位置で指定されるため、トレース情報と配置したコントロールがかぶってしまう。グリッド・レイアウトを使用して開発している場合には、次項で述べるアプリケーション・レベルでのトレース表示を使用すればよいだろう。

ページ・レベルのトレース表示
アプリケーションの画面にトレース情報が追加された形で表示される。

 トレース情報として表示されるデータは次のようなものである。

項目 概要
要求の詳細 ページがアクセスされたときのリクエスト情報。
トレース情報 ページが要求されてから最終的なHTMLが作成されるまでにサーバ側で処理されたイベントと、それに要した時間。この時間情報はパフォーマンス・チューニングに利用できる
コントロールのツリー ページを構成しているコントロールのツリー。各コントロールが出力するHTMLのサイズと、状態復元のためのビューステートのサイズも表示される
クッキー・コレクション クライアントが送信したHTTPヘッダに含まれているクッキー情報のコレクション
ヘッダー・コレクション クライアントが送信したHTTPヘッダの情報のコレクション
フォーム・コレクション フォーム変数のコレクション
サーバ変数 サーバ変数のコレクション
トレース情報として表示される項目とその概要

 各項目の詳細については、リファレンス・マニュアルの「トレース情報の読み取り」の項を参照していただきたい。

 なお、上表中のトレース情報以外の情報は、ページ内からもRequestプロパティ経由で得られるHttpRequestクラス(System.Web名前空間)のオブジェクトの各プロパティにより取得できる。

アプリケーション・レベルのトレース表示

 いま述べたページ・レベルのトレース表示は、各ページで個別にトレースの制御をオン/オフするものだが、アプリケーション全体でのトレース表示を行う機能も用意されている。この設定は、アプリケーションのルート・ディレクトリにあるWeb.configファイルで行う。Visual Studio .NETを使用している場合には、すでにこのファイルがプロジェクトに含まれているはずだ。このファイルを表示し、次の画面のように、<trace>要素のenabled属性をtrueにするだけでとりあえず設定は完了である。

Webアプリケーションの設定ファイルであるWeb.configファイル
アプリケーション・レベルのトレース表示を行うには、<trace>要素のenabled属性をtrueに書き換える(デフォルトはfalse)。

 この状態では、各ページにトレース情報は表示されない。トレース情報を表示するには、「トレース・ビューア」を使用する。これは、上の図中のコメント部分にもあるように、アプリケーションのルート・ディレクトリの「trace.axd」をブラウザで開けば表示される。

 例えばプロジェクト名が「TraceSample1」の場合、実行されるWebページのURLは、

http://localhost/TraceSample1/WebForm1.aspx

などになるが、この場合にはトレース・ビューアのURLは次のようになる。

http://localhost/TraceSample1/trace.axd

 trace.axdというファイルが実際に存在するわけではないが、このURLを開けば次のような画面を表示することができる。

トレース・ビューアの表示画面
この画面を表示するには、アプリケーションのルート・ディレクトリの「trace.axd」をブラウザで開く。「詳細の表示」リンクをクリックすると、各ページのトレース情報を表示できる。

 このトレース・ビューア画面には、アプリケーションが受けたリクエストが一覧表示されている(必要に応じて画面をリロードさせなければならない)。リストから「詳細の表示」リンクをクリックすれば、各ページについて先ほどと同じ形式のトレース情報が表示される。

トレース・ビューアで「詳細の表示」をクリックした場合の画面
各ページのトレース情報が表示される。内容はページ・レベルのトレース表示により表示されるものと同じだ。

 このように、アプリケーション・レベルでのトレース表示は、表示までにほんの少し手間がかかるが、設定はWeb.configファイルを書き換えるだけでよく、別画面にトレース情報を表示できる、以前のページのトレース情報が表示できる(デフォルトでは10件だが<trace>要素のrequestLimit属性で変更可能)などのメリットがある。End of Article

カテゴリ:Webフォーム 処理対象:トレース
使用キーワード:@Pageディレクティブ
使用キーワード:<trace>要素
 
この記事と関連性の高い別の.NET TIPS
[ASP.NET]ページから生成されたソース・コードを見るには?
[ASP.NET]ビューステートに保存されるものは?
[ASP.NET]DataGridコントロールのページ移動ボタンをカスタマイズするには?
トレースポイントを使ってトレース情報を出力するには?
SQL Server 2005 Express Editionに発行されたSQL文をトレースするには?
このリストは、(株)デジタルアドバンテージが開発した
自動関連記事探索システム Jigsaw(ジグソー) により自動抽出したものです。
generated by

「.NET TIPS」


Insider.NET フォーラム 新着記事
  • 第2回 簡潔なコーディングのために (2017/7/26)
     ラムダ式で記述できるメンバの増加、throw式、out変数、タプルなど、C# 7には以前よりもコードを簡潔に記述できるような機能が導入されている
  • 第1回 Visual Studio Codeデバッグの基礎知識 (2017/7/21)
     Node.jsプログラムをデバッグしながら、Visual Studio Codeに統合されているデバッグ機能の基本の「キ」をマスターしよう
  • 第1回 明瞭なコーディングのために (2017/7/19)
     C# 7で追加された新機能の中から、「数値リテラル構文の改善」と「ローカル関数」を紹介する。これらは分かりやすいコードを記述するのに使える
  • Presentation Translator (2017/7/18)
     Presentation TranslatorはPowerPoint用のアドイン。プレゼンテーション時の字幕の付加や、多言語での質疑応答、スライドの翻訳を行える
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Insider.NET 記事ランキング

本日 月間