IntelliTrace ログ (.iTrace) ファイルによるアプリのデバッグ
IntelliTrace デバッグ セッションは、IntelliTrace ログ (.iTrace) ファイルから直接開始できます。このファイルには、アプリの実行中に IntelliTrace によって記録された例外、Web 要求、スレッド、テスト ステップ、モジュール、およびその他のシステム情報が格納されています。
IntelliTrace の機能を紹介するビデオ:
要件
次のいずれかのソースの .iTrace ファイル:
Visual Studio Ultimate の IntelliTrace セッション。「Visual Studio でのデバッグのための IntelliTrace を使用したコード実行の記録」を参照してください。
Microsoft Test Manager のテスト セッション。これにより、.iTrace ファイルが Team Foundation Server の作業項目にアタッチされます。「方法: 困難な問題をデバッグするのに役立つ IntelliTrace データを収集する」を参照してください。
Visual Studio の外部で実行されるアプリのスタンドアロン コレクター。「スタンドアロン コレクターを使用した Visual Studio の外部での IntelliTrace データの収集」を参照してください。
Visual Studio 2012.1: Apps monitored by System Center 2012 Service Pack 1 (SP1) - Operations Manager with the IntelliTrace Profiling Management Pack.See How to Configure Integration with IntelliTrace in System Center 2012.
Visual Studio Ultimate on a development computer or other computer to open .iTrace files
[!メモ]
To debug with IntelliTrace and step through code, you must have the matching source files and symbol files.Make sure the symbol files are in the Visual Studio symbol path.シンボル パスにない場合、Visual Studio がソースの場所を解決できないため、「シンボルが見つかりませんでした」というメッセージが表示されます。「シンボル (.pdb) ファイル、ソース ファイル、およびバイナリ ファイルの検索」を参照してください。
目的に合ったトピックをクリックしてください
IntelliTrace ログ ファイルを開きます。
IntelliTrace ログ ファイルを読み取る
IntelliTrace ログ ファイルのデバッグを開始する
IntelliTrace ログ ファイルを開きます。
Visual Studio Ultimate を使用するコンピューターで、.iTrace ファイルを開きます。
Double-click the .iTrace file outside Visual Studio, or open the file from inside Visual Studio.
または
.iTrace ファイルが Team Foundation Server の作業項目にアタッチされている場合は、作業項目の次の手順に従います。
[すべてのリンク] の下で .iTrace ファイルを見つけます。そのファイルを開きます。
または
[ステップの再現] の [IntelliTrace] リンクを選択します。
ヒント |
---|
デバッグ中に .iTrace ファイルを閉じた場合、ファイルを簡単に開き直すことができます。[デバッグ] メニューで [IntelliTrace]、[ログの概要の表示] の順に選択します。また [IntelliTrace] ウィンドウの [ログの概要の表示] を選択することもできます。これは、IntelliTrace を使用したデバッグ中にのみ使用できます。 |
Read the IntelliTrace log file
.iTrace ファイルの次のセクションの一部は、特定のソース (たとえば、Test Manager、スタンドアロン コレクターを含む SharePoint 2010 アプリケーション) からデータを収集した場合にのみ表示されます。
セクション |
次の値を含む |
コレクションのソース (Visual Studio Ultimate、Test Manager、スタンドアロン コレクター) |
---|---|---|
分析 |
SharePoint 2010 アプリケーションのみ。このセクションでは、コレクターによって記録されたデバッガー イベント、ULS イベント、例外、その他のデータなど、IntelliTrace と SharePoint のイベントを調べることができます。 |
Visual Studio 2012.1 用のスタンドアロン コレクター |
スレッド一覧 |
コレクション中に実行されたスレッド |
すべてのソース |
Web 要求 |
IIS アプリケーション プールに送信された Web 要求。このデータは、IIS W3c のログ ファイルに収集されたデータに類似しています。 |
スタンドアロン コレクター: IIS でホストされる Web アプリのみ |
例外データ |
データ収集中にアプリによってスローされた例外。各例外の完全な呼び出し履歴が含まれます |
All sources |
テスト データ |
テスト セッションのテスト ステップと結果 |
テスト マネージャー |
システム情報 |
ホスト システムの設定および仕様 |
All sources |
モジュール |
データ収集中に読み込まれたモジュール |
All sources |
Start debugging from an IntelliTrace log file
ほとんどのセクションでは、イベントまたは他の項目を確認したうえで項目を選択し、[デバッグの開始] を選択できます。これにより、イベントが発生したポイントで IntelliTrace デバッグ セッションが開始されます。
ヒント |
---|
データを並べ替えるには、列ヘッダーを選択します。データをフィルター処理するには、検索ボックスを使用します。プレーンテキストの検索は、時間の列を除くすべての列で機能します。[Web 要求] セクションでは、検索を特定の列にフィルターすることもできます。 |
分析
このセクションは、SharePoint 2010 アプリケーションに関して、Visual Studio 2012.1 のコレクターを使用してデータを記録した場合にのみ表示されます。「スタンドアロン コレクターを使用した Visual Studio の外部での IntelliTrace データの収集」を参照してください。
このセクションでは、次の操作を実行できます。
SharePoint 相関 ID を使用して、対応する Web 要求およびイベントを検索する。イベントを選択し、そのイベントが発生したポイントでデバッグを開始できます。
コレクターによって検出されたハンドルされない例外を確認する。例外を選択し、その例外が発生したポイントでデバッグを開始できます。
[!メモ]
「シンボルが見つかりませんでした」というメッセージが表示される場合、Visual Studio がソースの場所を解決できないことを示しています。アプリケーションのシンボル (.pdb) ファイルが Visual Studio のシンボル パスにあることを確認してください。「シンボル (.pdb) ファイル、ソース ファイル、およびバイナリ ファイルの検索」を参照してください。
SharePoint 相関 ID を使用したデバッグの開始
SharePoint 相関 ID をソースからコピーします。
次に例を示します。
.iTrace ファイルの [分析] に、SharePoint 相関 ID を入力できます。これにより、対応する要求を見つけ、記録されたイベントを表示できます。
[要求イベント] で、イベントを確認します。イベントは、発生した順に上から表示されます。
イベントを選択すると、その詳細が表示されます。
[デバッグの開始] を選択すると、イベントが発生したポイントでデバッグが開始されます。
IntelliTrace イベントと共に、以下の種類の SharePoint イベントが表示されます。
ユーザー プロファイル イベント
これらのイベントは、SharePoint によってユーザー プロファイルが読み込まれたとき、およびユーザー プロファイル プロパティの読み取りまたは変更が行われたときに発生します。
Unified Logging System (ULS) イベント
スタンドアロン コレクターは、SharePoint ULS イベントのサブセットと以下のフィールドを記録します。
IntelliTrace のフィールド
SharePoint ULS のフィールド
ID
EventID
レベル
Level
カテゴリ ID
Category Id
カテゴリ
カテゴリ
区分
製品
出力
メッセージ
Correlation ID
Correlation Id
ハンドルされない例外からのデバッグの開始
例外の SharePoint 相関 ID を選択します。例外は、種類と呼び出し履歴によってグループ化されます。
(省略可能) [呼び出し履歴] を展開して、例外のグループの呼び出し履歴を表示します。
[例外のデバッグ] を選択して、その例外が発生したポイントでデバッグを開始します。
チュートリアルについては、「チュートリアル: IntelliTrace を使用した SharePoint アプリケーションのデバッグ」を参照してください。コレクターによって記録されるレコードの種類については、「Visual Studio でのデバッグのための IntelliTrace を使用したコード実行の記録」を参照してください。
スレッド一覧
このセクションには、対象のプロセスで実行されたスレッドの記録が表示されます。選択されているスレッドの最初の有効な IntelliTrace イベントからデバッグを開始できます。
特定のスレッドからデバッグを開始するには
[スレッド一覧] で、スレッドを選択します。
[スレッド一覧] の下部にある [デバッグの開始] を選択します。スレッドをダブルクリックすることもできます。
アプリが始まる場所からデバッグを開始するには、[メイン スレッド] をダブルクリックします。「Visual Studio でのデバッグのための IntelliTrace を使用したコード実行の記録」を参照してください。
ユーザーが作成するスレッド データは、IIS でホストされる Web アプリ用にサーバーが作成および管理するスレッドよりも便利な場合があります。
列 |
内容 |
---|---|
ID |
スレッド ID 番号 |
名前 |
スレッド名。名前のないスレッドは "<No Name>" として表示されます。 |
開始時間 |
スレッドが作成された時刻 |
終了時刻 |
スレッドが完了した時刻 |
Web 要求
このセクションには、IIS アプリケーション プールに送信された Web 要求の記録が表示されます。Web 要求を選択すると、その要求について記録されたイベントを確認できます。さらに、特定のイベントからデバッグを開始できます。
既定では、Web 要求は、サーバーで受信される順に上から下に表示されます。
特定の Web 要求に関して記録されたイベントを表示するには
[Web 要求] で、Web 要求を選択します。
[Web 要求] の下部にある [要求の詳細] を選択します。また、Web 要求をダブルクリックすることもできます。
選択した Web 要求の [要求の詳細] ページが開き、その要求に関して記録された IntelliTrace イベントが表示されます。イベントは、発生した順に上から表示されます。カテゴリの一覧から選択するか、検索ボックスを使用すると、イベントをフィルター処理できます。「Visual Studio でのデバッグのための IntelliTrace を使用したコード実行の記録」を参照してください。
ヒント [要求の詳細] ページがプレビュー タブに表示されます。別の Web 要求を選択すると、このタブは新しい [要求の詳細] ページと置き換えられます。[プレビュー] タブを保持するには、タブの [昇格] を選択します。次の Web 要求は新しいプレビュー タブに表示されます。
特定のイベントからデバッグを開始するには
[要求イベント] で、イベントを選択します。
[要求イベント] の下部にある [デバッグの開始] を選択します。イベントをダブルクリックすることもできます。
ヒント .iTrace ファイルに関数呼び出し情報が含まれる場合は、イベントの場所からコードをステップ実行できます。さらに、パラメーターと戻り値を確認することもできます。
呼び出し情報を収集するには:
Visual Studio Ultimate で、呼び出し情報を収集するように IntelliTrace を構成します。「Visual Studio でのデバッグのための IntelliTrace を使用したコード実行の記録」を参照してください。
IntelliTrace のスタンドアロン コレクターの場合は、collection_plan.ASP.NET.trace.xml 収集計画またはカスタム収集計画を使用します。「スタンドアロン コレクターを使用した Visual Studio の外部での IntelliTrace データの収集」を参照してください。
「シンボルが見つかりませんでした」というメッセージが表示される場合、Visual Studio がソースの場所を解決できないことを示しています。シンボル (.pdb) ファイルが Visual Studio のシンボル パスにあることを確認してください。「シンボル (.pdb) ファイル、ソース ファイル、およびバイナリ ファイルの検索」を参照してください。
Column |
内容 |
---|---|
メソッド |
要求と共に送信された HTTP メソッド |
対象の URL |
要求と共に送信されたターゲット URL |
所要時間 (ms) |
サーバーが要求を受信してから結果がサーバーから送信されるまでにかかったミリ秒単位の時間 |
状態 |
結果内に返される HTTP 状態コード |
セッション ID |
ユーザーを区別するために IIS で使用されるセッション ID。 [セッション ID] の値は、単にセッションの複数のユーザーを識別するために使用される 1 ずつ増える整数であり、ASP.NET の SessionID の概念に関連した値ではありません。したがって、セッション ID が同じ Web 要求は、同じユーザー セッションに属します。 |
クライアント IP |
送信された要求に対して IIS によって記録された IP アドレス |
ユーザー エージェント |
HTTP 要求と共に送信されたユーザー エージェント文字列の値 |
開始時間 |
サーバーが要求を受信した時刻 |
終了時刻 |
サーバーがクライアントに応答した時刻 |
ユーザーの観点からデータを表示するには、Web 要求をフィルター処理してグループ化します。次に例を示します。
エラーを検出するには、[状態] で要求をフィルター処理します。
傾向やユーザーの動作を確認するには、[ターゲット URL] または [セッション ID] でエラーをグループ化します。
また、特定の列に検索をフィルター処理できます。空白、コロン、および検索値のない列名を入力します。
たとえば、特定のセッション ID を使用して GET メソッドを使用した Web 要求を見つけるには、次のように入力します。
Method:GET;SessionId:2
列ごとに 1 つのフィルターを使用できます。フィルター処理できる列を確認するには、[Web 要求] 検索ボックスのツールヒントを確認します。
例外データ
このセクションでは、アプリによってスローされた例外の記録を確認できます。既定では、例外は降順の [イベント時間] によって並べ替えられるため、最新の例外が先頭に表示されます。
特定の例外からデバッグを開始するには
[例外データ] で、例外を選択します。
[例外データ] の下部にある [デバッグの開始] を選択します。例外をダブルクリックすることもできます。
これによって、例外がスローされた時点からデバッグが開始されます。
ヒント |
---|
同じ [種類] と [スレッド ID] を持つ複数の例外を検索し、順番に表示します。これは多くの場合、スローされキャッチされた例外が再びスローされることが原因で発生します。 このケースに該当するかどうかを確認するには、これらの例外を選択し、呼び出し履歴で確認します。呼び出し履歴が増加しているか、減少しているかを確認します。短い履歴が長い呼び出し履歴の先頭と同じであり、[スレッド ID] が同じである場合、同じ例外が再スローされた可能性があります。最も長い呼び出し履歴を持つ例外が問題の原因に最も近い可能性があります。 |
列 |
内容 |
---|---|
型 |
.NET 型の例外 |
[メッセージ] |
例外によって提供されるメッセージ |
[スレッド ID] |
例外をスローしたスレッドの ID |
[HResult] |
例外で指定されたエラー コード。この値が例外で設定されている場合に使用できます。 |
[イベント時間] |
例外がスローされたときに記録されたタイム スタンプ |
[呼び出し履歴] |
例外の呼び出し履歴。 呼び出し履歴を表示するには、一覧で例外を選択します。呼び出し履歴は例外の一覧の下に表示されます。 |
テスト データ
このセクションでは、アプリのテスト中に Test Manager によって収集されたデータを確認できます。
特定のテスト ステップからデバッグを開始するには
[テスト ステップ グリッド] を展開します。テスト ステップを選択します。
[テスト ステップ グリッド] の下部にある [デバッグの開始] を選択します。テスト ステップをダブルクリックすることもできます。
これによって、選択されているテスト ステップの後に現れる最初の有効な IntelliTrace イベントからデバッグが開始されます。
テスト データがある場合は、IntelliTrace によって、テストの実行に使用された関連する Team Foundation Server ビルドの解決が試みられます。ビルドが見つかった場合、アプリ用に関連付けられているシンボルは自動的に解決されます。
フィールド |
内容 |
---|---|
[テスト セッション] |
記録されたテスト セッション。通常は 1 つだけです。テスト データが手動の探索的テストを使用して作成された場合、このリストは空になります。 |
テスト ケース |
選択されているテスト セッションのテスト ケース。テスト データが手動の探索的テストを使用して作成された場合、このリストは空になります。 |
[テスト ステップ グリッド] |
合格または不合格のテスト結果が記録されたテスト ステップ |
System Info
このセクションには、ハードウェア、オペレーティング システム、環境、プロセス固有の情報など、アプリをホストしたシステムに関する詳細が表示されます。
モジュール
このセクションには、ターゲット プロセスに読み込まれたモジュールが表示されます。モジュールは、読み込まれた順序で表示されます。
Column |
内容 |
---|---|
[モジュール名] |
モジュール ファイル名 |
[モジュール パス] |
モジュールが読み込まれたディスクの場所 |
[モジュール ID] |
バージョン固有で一致するシンボル (PDB) ファイルに貢献するモジュールの一意の識別子。「[廃止] 方法: シンボルの場所と読み込み動作を指定する」を参照してください。 |
情報の入手方法
スタンドアロン コレクターを使用した Visual Studio の外部での IntelliTrace データの収集
Visual Studio でのデバッグのための IntelliTrace を使用したコード実行の記録
方法: 困難な問題をデバッグするのに役立つ IntelliTrace データを収集する
IntelliTrace を使用したコード実行の記録によるアプリのデバッグ
ブログ
Visual Studio ALM + Team Foundation Server