中断されたプログラムを調べる
フレームを分析することで、中断されたアプリケーションの状態を調べることができます。
コードがデバッグモードで実行されている場合、それを一時停止するには 2 つの方法があります。
検査するコード内の ブレークポイントの設定で、いずれかがヒットするまで待機します。
Ctrl+D, P でプログラムの実行を中断します。 デバッガーは、一時停止した瞬間に実行中のステートメントを終了し、次に実行する必要のあるステートメントで停止します。
一時停止状態では、 現在の実行ポイント (次に実行されるステートメント)は、エディターの左側のガターにある黄色の実行ポインター
でマークされます。 現在の実行ポイントをすばやく見つけるには、 Alt+F10 を押すか、 デバッグウィンドウ の 実行ポイントを表示
をクリックします。
フレームとは
関数の呼び出しを実行するために、CLR は呼び出しデータを生成し、呼び出しスタックに入れます。 このデータブロックは スタックフレーム (または略して フレーム )と呼ばれ、関数の場所、呼び出し引数、ローカル変数などが含まれます。
フレームを探る
デバッグ中は、現在のコールスタックからのすべてのフレームが デバッグウィンドウ の スレッド & 変数 ペインに表示され、そこで任意のフレームを選択してそのデータを表示できます。

フレームを選択すると、このフレームのメソッド呼び出しで使用できるすべての変数と引数が右側に表示され、さらに詳しく調べることができます。
コールスタックにライブラリコードのフレームが含まれている場合は、それらのフレームを非表示にして、ソースコードのフレームに集中することができます。 これを行うには、フレームリスト内の任意の場所を右クリックし、 ライブラリフレームの表示 / 非表示 を選択します。
デバッグウィンドウ が開いているときに、 Ctrl+Alt+Down と Ctrl+Alt+Up を押すと、次のフレームと前のフレームに切り替えることができます。
フレームの表示をカスタマイズする (フレームに固定)
デフォルトでは、スタックフレームは、呼び出された関数とそのアセンブリの名前としてリストされます。
フレームの表示に意味のあるコンテンツを追加するには (たとえば、再帰的に呼び出される関数のフレームを区別するため)、呼び出し引数の値または関数のコンテキストでアクセス可能な任意のオブジェクトを使用できます。
デバッグウィンドウ でフレームを選択します。
変数ビューで、フレームプレゼンテーションで使用するオブジェクトを見つけ、そのアイコンをクリックするか、右クリックして 上にピン留め を選択します。
ピン留めされたオブジェクトはリストの一番上に移動し、そのアイコンはフラグアイコン
に置き換えられます。 次の ステップの後、ピン留めされたオブジェクトの値は、それらが属するフレームの文字列表現を形成するために使用されます。 文字列互換の値を持つオブジェクトを選択するようにしてください。ソリューション内のピン留めされたアイテムはすべて保存され、再起動後にも利用可能になります。 それらはすべて、対応するノードの ブックマークウィンドウで見ることができます。
フレーム表示でのオブジェクトの使用を停止するには、変数ビューでそのフラグアイコン
をクリックするか、オブジェクトを右クリックして ピン留め解除 を選択するか、ブックマークウィンドウで固定されたアイテムを見つけて Delete を押します。
次の短いビデオは、再帰的に呼び出される関数のフレームにパラメーターを固定する方法を示しています。