JetBrains Rider 2020.2 ヘルプ

中断したプログラムを調べる

フレームを分析することにより、中断されたアプリケーションの状態を調べることができます。

プログラムがデバッグモードで実行されている場合、プログラムを中断する方法は 2 つあります。

  • 検査するコード内のブレークポイントを設定するで、いずれかがヒットするまで待機します。

  • Ctrl+Alt+Break または実行 | プログラムの中断でプログラムの実行を中断します。デバッガーは、一時停止した時点で実行中のステートメントを終了し、次に実行する必要があるステートメントで停止します。

現在の実行ポイント(次に実行されるステートメント)には、エディターの左側のガターに黄色の実行ポインターExecution pointerが付いています。現在の実行ポイントをすばやく見つけるには、Alt+F10 を押すか、デバッグウィンドウ実行ポイントの表示 Show Execution Point をクリックします。

フレームとは

関数の呼び出しを実行するために、CLR は呼び出しデータを生成し、呼び出しスタックに入れます。このデータブロックはスタックフレーム(または略してフレーム)と呼ばれ、関数の場所、呼び出し引数、ローカル変数などが含まれます。

フレームを探る

デバッグ中は、現在のコールスタックからのすべてのフレームがデバッグウィンドウフレームペインに表示され、そこで任意のフレームを選択してそのデータを表示できます。

デバッガーは呼び出しスタック内のユーザコードとシステムコードを区別します。ユーザコードで宣言されたメソッドに対応するフレームを選択すると、デバッガーは自動的にそのメソッドのソースコードに移動します。システムアセンブリに属するすべてのフレームがハイライトされ、コードへのナビゲーションを提供しません。

JetBrains Rider: Debug frames pane

フレームを選択すると、このフレームのメソッド呼び出しで使用できるすべての変数と引数がデバッグウィンドウ変数ペインに表示されるため、さらに詳しく調べることができます。このセクションでは、これらの値を簡単に調べる方法について説明します。

フレームの表示をカスタマイズする (フレームに固定)

デフォルトでは、スタックフレームは、呼び出された関数とそのアセンブリの名前としてリストされます。

フレームの表示に意味のあるコンテンツを追加するには(たとえば、再帰的に呼び出される関数のフレームを区別するため)、呼び出し引数の値または関数のコンテキストでアクセス可能なオブジェクトを使用できます。

  1. デバッグウィンドウでフレームを選択します。

  2. 変数ビューで、フレームプレゼンテーションで使用するオブジェクトを見つけ、そのアイコンをクリックするか、右クリックして上にピン留めを選択します。

  3. 固定されたオブジェクトはリスト内で上に移動し、それらのアイコンはフラグアイコンIcon debugger pinnedに置き換えられます。次のステップの後、ピン留めされたオブジェクトの値は、それらが属するフレームの文字列表示を形成するために使用されます。文字列互換の値を持つオブジェクトを選択するようにしてください。

  4. ソリューション内のピン留めされたアイテムはすべて保存され、再起動後にも利用可能になります。それらはすべて、対応するノードのお気に入りウィンドウで見ることができます。

  5. フレームプレゼンテーションでオブジェクトの使用を停止するには、変数ビューでそのフラグアイコンIcon debugger pinnedをクリックするか、右クリックしてピン留め解除を選択するか、またはお気に入りウィンドウでピン留めされた項目を見つけて Delete を押します。

次の短いビデオは、再帰的に呼び出される関数のフレームにパラメーターを固定する方法を示しています。

最終更新日 :

関連ページ:

デバッグを開始

複数のデバッグセッションを同時に実行できます。アプリケーションをデバッグするには、デバッガーをアプリケーションプロセスにアタッチする必要があります。デバッグセッションを開始するにはいくつかの選択肢があります。アタッチされたデバッガーでアプリケーションを起動します(デバッグモード)。アプリケーションが...

ブレークポイント

ブレークポイントを使用すると、特定のステートメントでプログラムの実行を一時停止し、変数値、コールスタック、およびその他のプログラムパラメーターを分析し、式を評価し、プログラムをステップ実行できます。JetBrains Rider では、次のタイプのブレークポイントを操作できます。行ブレークポイント、...

デバッグウィンドウ

デバッガーセッションを開始すると、デバッグツールウィンドウが表示されます。このウィンドウを使用して、デバッガーセッションを制御し、プログラムデータ(フレーム、スレッド、変数など)を表示して分析し、さまざまなデバッガーアクションを実行します。これは、デバッグツールウィンドウの概要です。ツールウィンドウ...

コードをステップ実行する

中断されたプログラムでは、プログラムの実行を制御できます。プログラムをステップ実行することで、実行ポイントを目的のコードに進め、このポイントでプログラムの状態を調べることができます。プログラムがデバッグモードで実行されている場合、プログラムを中断する方法は 2 つあります。検査するコード内のブレーク...

お気に入り

プロジェクトが何千ものファイルで構成されている場合、参照するのは面倒です。通常、プロジェクトの他の部分よりも頻繁に必要なファイルまたはフォルダーがいくつかあります。そのようなファイルに素早くアクセスするには、お気に入りリストに追加してください。リストには、ファイル、フォルダー、ブックマーク、固定デバ...

インスペクション変数

プログラムが中断されると、現在選択されているフレームのコンテキストで変数と引数を調べることができます。それらの値を表示して、その場で編集できます。コンテキストを変更するには、フレームペインで別のフレームを選択してください。変数の値や式の結果ではなく、特定のオブジェクトを追跡することもできます。変数値...