次の方法で共有


IntelliTrace を使用した移動

このトピックの内容は、Visual Studio 2010 Ultimate のみに該当します。

Visual Studio デバッガーを使用すると、特定の時点について、アプリケーションの状態のスナップショットがデバッガー ウィンドウに表示されます。 IntelliTrace を使用すると、複数の時点について、アプリケーションの状態を表示できます。 また、デバッグ セッション中に、定義済みの時点でアプリケーションの状態を記録できます。

IntelliTrace を使用してデバッグすると、デバッグ情報が収集された任意の時点に移動できます。 IntelliTrace で新しい時点に移動すると、ソース ウィンドウに、そのイベントが発生したときのソース コードが表示されます。 同時に、デバッガーの [呼び出し履歴] ウィンドウと他のデバッガーのウィンドウが更新され、イベントが発生したコンテキストが表示されます。

ここでは、IntelliTrace を使用して、収集されたアプリケーションの履歴を移動する方法について説明します。

このトピックの内容

  • IntelliTrace イベント ビュー

  • 呼び出しビュー

  • ナビゲーション余白

  • IntelliTrace の履歴の検索

IntelliTrace イベント ビュー

IntelliTrace イベント ビューは、[IntelliTrace] ウィンドウの既定のビューです。このビューはソリューション エクスプローラーチーム エクスプローラーに既定で組み込まれています。IntelliTrace を有効にすると、常に IntelliTrace イベントが収集されます。 そのため、どの IntelliTrace セッション中でもこのビューを使用できます。

デバッグ履歴ウィンドウの診断イベント ビュー

デバッグ モードの IntelliTrace イベント ビューには、デバッグ セッション中に IntelliTrace によって収集されたイベント一覧が表示されます。 収集対象のイベントは、[オプション] ダイアログ ボックスで指定します。 収集対象のイベントを指定する方法については、「IntelliTrace 情報の収集」を参照してください。

診断イベントが発生した時点に移動するには

  • IntelliTrace イベント ビューで、移動先のイベントをクリックします。

    ソース ウィンドウに、イベントが発生した時点のソース コードが表示され、命令ポインターがその時点に移動します。デバッガー ウィンドウは更新され、イベントが発生したコンテキストが表示されます。

呼び出しビュー

呼び出しビューでは、呼び出しおよびその呼び出しに関連する IntelliTrace イベントを階層的に表示して移動できます。

[デバッグ履歴] ウィンドウで反転されたスタック ビュー

IntelliTrace を有効にすると常に収集される IntelliTrace イベントとは異なり、呼び出し情報は [オプション] ダイアログ ボックスで [IntelliTrace イベントと呼び出し情報] を有効にした場合にのみ収集されます。 このオプションを有効にする方法については、「IntelliTrace 情報の収集」を参照してください。

呼び出しビューを表示するには

  • [IntelliTrace] ウィンドウの上部にあるツール バーで、[[呼び出し] ビューの表示] をクリックします。

呼び出しビューには呼び出し履歴が表示されます。デバッガーの [呼び出し履歴] ウィンドウに似ていますが、表示順が逆です。 [呼び出し履歴] ウィンドウでは、現在の呼び出しが一番上に配置されます。 呼び出しビューでは、一番下に配置されます。

IntelliTrace でデバッグする場合、現在の呼び出しとは、表示している時間枠内で最新の呼び出しを意味します。 実時間の現在を意味するとは限りません。

呼び出しビューでは、現在の呼び出しの下に、現在の呼び出しから行われた呼び出しと、現在の呼び出しと関連する IntelliTrace イベントがインデントして一覧表示されます。

現在の呼び出しから別の呼び出しに移動するには

  • 現在の呼び出しの下にインデント表示されている呼び出し一覧で、移動先の呼び出しをダブルクリックします。

    呼び出しビューが更新され、ダブルクリックした呼び出しが現在の呼び出しになります。 ソース ウィンドウ、命令ポインター、およびデバッガー ウィンドウが更新され、新しい現在の呼び出しに関するアプリケーションの状態が表示されます。

現在の呼び出し内の呼び出しサイトに移動するには

  • 現在の呼び出しの下にインデント表示されている呼び出し一覧で、現在の呼び出しの下に表示される呼び出しをクリックします。

    呼び出しはダブルクリックしないでください。 ダブルクリックすると、呼び出しサイトではなく、呼び出しに移動します。

    ソース ウィンドウで、命令ポインターが呼び出しサイトに移動します。 同じ呼び出し内なので、[呼び出し履歴] ウィンドウは変わりません。

現在の呼び出し内の IntelliTrace イベントに移動するには

  • 現在の呼び出しの下に表示される IntelliTrace イベントをクリックします。

    ソース ウィンドウで、命令ポインターが呼び出しサイトに移動します。

ナビゲーション余白

ナビゲーション余白は、[オプション] ダイアログ ボックスで [IntelliTrace イベントと呼び出し情報] を有効にした場合にのみ使用できる移動ツールの 1 つです。 標準のデバッグ余白とマージンとの間に、ソース ウィンドウに並行するナビゲーション余白が表示されます。 標準のデバッグ余白は、現在の命令ポインターとブレークポイント アイコンが表示される位置に表示される垂直方向の余白です。

ナビゲーション余白は、ライブ デバッグと IntelliTrace を使用したデバッグの両方に使用できます。 ナビゲーション余白の色は、現在のモードによって変わります。 ライブ デバッグの既定の色は明るい灰色です。 IntelliTrace を使用してデバッグしている場合、既定の色は濃い灰色です。

既定では、ナビゲーション余白が表示されます。 ただし、メソッドとパラメーターを収集しない場合、IntelliTrace をオフにした場合、または [オプション] ダイアログ ボックスで IntelliTrace を無効にした場合、ナビゲーション余白は表示されません。 ナビゲーション余白をオフにした後で、改めてオンにする場合、「方法: ナビゲーション余白を有効または無効にする」を参照してください。

ナビゲーション余白

ナビゲーション余白には、前の図のように以下のナビゲーション アイコンが表示されます。 [呼び出しサイトに戻る] および [ステップ イン] は、[前のイベントへ移動] および [次のイベントへ移動] と同様に、反対方向に移動する同等のコマンドです。

  • [呼び出しサイトに戻る] をクリックすると、現在の関数またはメソッドを呼び出した時点まで命令ポインターとデバッグ コンテキストが戻ります。 ライブ デバッグ モードで操作しているときにこのコマンドを実行すると、IntelliTrace によるデバッグが開始されます。

  • [ステップ イン] をクリックすると、現在選択されている関数まで命令ポインターとデバッグ コンテキストが進みます。 このコマンドは、IntelliTrace によるデバッグ中にのみ使用できます。 [ステップ イン][呼び出しサイトに戻る] の移動方向は反対です。

  • [前の呼び出しまたは IntelliTrace イベントへ移動] をクリックすると、最後の呼び出しまたはイベントの時点まで命令ポインターとデバッグ コンテキストが戻ります。 ライブ デバッグ モードで操作しているときにこのコマンドを実行すると、IntelliTrace によるデバッグが開始されます。

  • [次の呼び出しまたは IntelliTrace イベントへ移動] をクリックすると、IntelliTrace データが存在する次の呼び出しまたはイベントの時点まで命令ポインターとデバッグ コンテキストが進みます。 このコマンドは、IntelliTrace によるデバッグ中にのみ使用できます。

  • [ライブ モードへ移動] をクリックすると、IntelliTrace でデバッグを開始した時点のライブ デバッグに戻ります。

  • [デバッガー コンテキストをここに設定] は、現在の呼び出し履歴の各フレームに表示されます。 クリックして、表示される呼び出しフレームにデバッグ コンテキストを設定します。

[デバッガー コンテキストの設定] を除くこれらのアイコンにアクセスするには、[デバッグ] メニュー内の [IntelliTrace] メニュー、または [IntelliTrace] ツール バー (表示している場合) を使用します。 [デバッガー コンテキストの設定] は、ナビゲーション余白にのみ表示されます。

IntelliTrace の履歴の検索

[IntelliTrace イベントと呼び出し情報] を有効にすると、記録された任意の呼び出しのインスタンスを検索できます。 目的のインスタンスが見つかったら、IntelliTrace コンテキストをその呼び出しに同期し、[IntelliTrace] ウィンドウと通常のデバッガー ウィンドウを使用して、呼び出しインスタンス中にアプリケーションの状態を観察できます。

呼び出しのインスタンスを検索する方法は 2 つあります。 1 つは、呼び出し元のソース コードの行をクリックする方法です。 もう 1 つは、呼び出すメソッドまたは関数の本体内をクリックする方法です。

呼び出しのインスタンスを検索するには

  1. ソース コード ウィンドウで、次の操作を行います。

    • 呼び出し元のコード行のインスタンスを右クリックし、[この行を IntelliTrace で検索] をクリックします。または、

    • メソッドまたは関数の本体内を右クリックし、[このメソッドを IntelliTrace で検索] をクリックします。

    次の図のように、ソース ウィンドウの上部にある水平方向の余白に、検索結果が表示されます。 検索結果には、IntelliTrace で見つかったインスタンス数が表示されます。

  2. 検索結果の余白で、[次の結果へ移動][最後の結果へ移動][前の結果へ移動]、または [最初の結果へ移動] をクリックして結果を参照します。

    検索結果の余白で呼び出しインスタンスに移動すると、[IntelliTrace] ウィンドウの呼び出しビューは、その呼び出しインスタンスに自動的に同期します。

検索には、注意する必要があるいくつかの制約事項があります。

  • [このメソッドを IntelliTrace で検索] は、そのメソッドを含むプロジェクト ファイルが Visual Studio で開いていない限り機能しません。

  • [この行を IntelliTrace で検索] は、その行がメソッド出口である場合、正確な結果を返しません。

参照

処理手順

方法: ナビゲーション余白を有効または無効にする

概念

IntelliTrace 情報の収集

IntelliTrace によるコードのデバッグの高速化

IntelliTrace を使用した再現できないエラーのデバッグ