変数の値とオブジェクトを調べる
プログラムが中断されると、現在選択されているフレームのコンテキストで変数と引数を調べることができます。それらの値を表示して、その場で編集できます。コンテキストを変更するには、フレームペインで別のフレームを選択してください。
変数値を表示する
変数値を表示する方法はいくつかあります。
変数ペイン
変数値を調べるデフォルトの方法は、デバッグウィンドウの変数ペインを使用することです。変数が複合型の場合、ペイン内の対応するノードを展開して、変数に含まれる値を表示できることに注意してください。
場合によっては、変数によって色が変わることがあります。これは、前回の評価以降に変数値が変更された場合に発生します。
![JetBrains Rider: デバッグウィンドウでハイライトされた更新された変数 JetBrains Rider: updated variable highlighted in the Debug window](https://resources.jetbrains.com/help/img/rider/2024.1/debug_variables_changed_value.png)
F4 キーを押すか、コンテキストメニューからソースに移動を選択すると、変数ペインの変数からソースコード内のその宣言にすばやく移動できます。
コード付きインライン
変数の値を確認するもう 1 つの方法は、エディターでコードを確認することです。デフォルトでは、JetBrains Rider は変数が宣言されている行の末尾に変数の値を表示します。また、この関数がコンテキスト内にある限り、関数から返される値も return
ステートメントの横に表示されます。
![JetBrains Rider デバッガー: エディター内のインライン値 JetBrains Rider debugger: Inline values in the editor](https://resources.jetbrains.com/help/img/rider/2024.1/debug_values_inline.png)
変更されたオブジェクトは異なる色で表示されます。
値のヒントをクリックして、対応するオブジェクトをポップアップで開くこともできます。ここで、オブジェクトのプロパティを調べて値 Enter を編集するか、値を含む変数を使用してインラインウォッチの式を作成できます。
![JetBrains Rider デバッガー: 値をインラインで編集 JetBrains Rider debugger: Edit values inline](https://resources.jetbrains.com/help/img/rider/2024.1/inline_values_edit.png)
コードとインラインで値を表示しないようにする場合は、JetBrains Rider 設定 Ctrl+Alt+S の値をインラインで表示するチェックボックスをオフにします。
ページのコードツールチップ
設定 Ctrl+Alt+S のビルド、実行、デプロイ | デバッガー | データビューページで値ツールチップを表示が有効になっている場合、変数の上にマウスを置くと値が表示されます。変数または式の値に子要素が含まれている場合、 をクリックするとノードが展開され、すべての子が表示されます。
![JetBrains Rider: デバッグ時の変数の値のヒント JetBrains Rider: Value tooltips for variables when debugging](https://resources.jetbrains.com/help/img/rider/2024.1/debug_values_tooltips.png)
関数の戻り値
変数ペインには、現在のコンテキストで呼び出されたメソッドの戻り値が表示されます。これは、メソッド呼び出しの結果がローカル変数に格納されない場合 (たとえば、メソッドチェーンを使用する場合) に役立ちます。
関数の戻り値は、Unity およびその他の Mono ベースのプロジェクトでは使用できないことに注意してください。
複雑なオブジェクトの値を検索する
文字列または整数の値はすべてのデバッガービューですぐに表示されますが、複雑なオブジェクトには階層構造に隠された何百もの異なる値が含まれていることがよくあります。
現在スコープ内にある複合オブジェクト内の特定の値を見つけるには、デバッグウィンドウの変数ビューにフォーカスして入力を開始します。目的の値が見つからない場合は、折りたたまれたノード内を検索をクリックして、もう一度入力を開始します。
![デバッグウィンドウで複雑なオブジェクトの値を検索する Search through values of complex objects in the Debug window](https://resources.jetbrains.com/help/img/rider/2024.1/debug_window_search.png)
複雑なオブジェクトのデバッガープレゼンテーションをカスタマイズする (上にピン留め)
型に有意な ToString()
オーバーライドがなく、[DebuggerDisplay]
属性でアノテーションが付けられていない場合、デバッガービューでのこの型のオブジェクトの表示は非常に情報価値の低いものになる可能性があります。Rider では、選択したメンバーを固定することにより、そのようなオブジェクトの表示をカスタマイズできます。
以下の例では、Album
クラスのオブジェクトに Title
および Price
フィールドが示されています。
![JetBrains Rider: 複雑なオブジェクトのデバッガープレゼンテーションのカスタマイズ (固定アイテム) JetBrains Rider: Customizing debugger presentation of complex objects (pinned items)](https://resources.jetbrains.com/help/img/rider/2024.1/debug_pinned_items.png)
デバッグウィンドウの変数ペインで、目的の変数を選択します。
変数を展開し、オブジェクトプレゼンテーションで使用するメンバーを見つけてアイコンをクリックするか、右クリックして上にピン留めを選択します。
固定されたメンバーはリスト内で上に移動し、アイコンはフラグアイコン
に置き換えられます。固定されたメンバーの値は、デバッガービューでオブジェクトの文字列表示を形成するために使用されます。そのため、文字列互換の値を持つメンバーを選択してください。
ソリューション内のピン留めされたアイテムはすべて保存され、再起動後にも利用可能になります。それらはすべて、対応するノードのブックマークウィンドウで見ることができます。
オブジェクト表示でのメンバーの使用を停止するには、変数ビューでそのフラグアイコン
をクリックするか、右クリックしてピン留め解除を選択するか、ブックマークウィンドウで固定されたアイテムを見つけて Delete を押します。
ピン留めされたアイテムは、ToString()
を持っているか、[DebuggerDisplay]
属性でアノテーションが付けられている場合でも、オブジェクトのプレゼンテーションをオーバーライドします。
変数とオブジェクトを変更する
中断されたプログラムのコンテキストで使用可能な変数とオブジェクトを編集できます。これは、たとえば、デバッグされた関数の特定のコンテキストを再現する場合に便利です。
デバッグウィンドウで複合オブジェクトの変数またはプロパティを選択し、F2 を押すか、右クリックしてコンテキストメニューから値の設定 ... を選択し、新しい値を指定して Enter を押します。
値のインライン表示が有効になっている場合は、インラインヒントをクリックして、ポップアップで変数を編集できます。単純な値の場合は、F2 を押すか、値の設定をクリックします。複雑なオブジェクトの場合、デバッグウィンドウと同じ方法で、選択したプロパティの値を編集できます。
イミディエイトウィンドウで、必要な値を使用可能な変数およびオブジェクトに設定するステートメントを入力します。
リテラル値の場合、ソースコードで必要な変更を加えて、ホット再ロードで適用できます。
変数値をクリップボードと比較する
デバッグ中に、変数値をクリップボードの値と比較できます。これは文字列をデバッグするときに特に役立ちます。
デバッグウィンドウの変数ペインで、目的の変数を選択します。
変数を右クリックして、コンテキストメニューからクリップボードと値を比較を選択します。
比較結果が差分ビューアーに表示されます。
関連ページ:
![](https://pleiades.io/icons/rider.png)
式の評価
JetBrains Rider を使用すると、別々の変数の値を表示できるだけでなく、メソッド呼び出し、演算子式、ラムダ式、匿名クラスなどのより複雑な式も評価できます。式は、デバッグウィンドウで現在選択されているスタックフレームのコンテキストで評価されます。エディターで式を評価する:式を評価する最も簡単な方法は、エディターのツールチップを使用することです。変数または式の値に子要素が含まれている場合は、をクリックするとノードが展開され、すべての子が表示されます。設定のビルド、実行、デプロイ | デ...
![](https://resources.jetbrains.com/help/img/rider/2024.1/make_object_id_0.png)
オブジェクトを追跡する (オブジェクトのマーク / マーク解除)
特定のオブジェクトが現在のコンテキスト外にある場合でも、デバッガーに特定のオブジェクトを追跡させることができます。プログラムがデバッガーによって一時停止されている場合、オブジェクトをマークを使用して、現在のコンテキスト内の任意のオブジェクトにラベルを割り当てることができます。その後、ガベージコレクションが行われるか、オブジェクトのマークを解除でラベルを削除するか、デバッガーセッションが終了するまで、オブジェクトは固定されます。次の例では、との両方に同じタイトルが付けられ、デバッガービューで同じ表...
![](https://resources.jetbrains.com/help/img/rider/2024.1/rider_debug_window.png)
デバッグウィンドウ
デバッガーセッションを開始すると、デバッグツールウィンドウが表示されます。このウィンドウを使用して、デバッガーセッションを制御し、プログラムデータ(フレーム、スレッド、変数など)を表示して分析し、さまざまなデバッガーアクションを実行します。これは、デバッグツールウィンドウの概要です。ツールウィンドウの使用に関する一般的な手順については、ツールウィンドウを参照してください。ツールウィンドウのタブを切り替えるには、とを押します。セッション:複数のデバッグセッションを同時に実行すると、それらはデ
![](https://resources.jetbrains.com/help/img/rider/2024.1/bookmarks_window.png)
ブックマーク
後でコードのどこかに戻りたい場合は、ソリューションとライブラリコードのファイルとフォルダーだけでなく、コード行もブックマークできます。行ブックマークがガターに表示されます。それに加えて、現在のソリューションのすべてのブックマークはブックマークツールウィンドウ ( ) で使用でき、リストにグループ化できます。ツールウィンドウには、すべてのブレークポイントとピン留めされたデバッガー項目も表示され、これらは専用のリストに自動的に追加されます。ブックマーク切り替え:使用できるブックマークには、次の 2...
![](https://resources.jetbrains.com/help/img/rider/2024.1/immediate_window_evaluate.png)
イミディエイトウィンドウを使用してプログラムと対話する
イミディエイトウィンドウを使用すると、プログラムの一時停止状態で使用可能なオブジェクトおよび機能にアクセスできます。プログラムがデバッグセッションで中断されるとすぐに、ウィンドウが使用可能になり、入力の受け入れを開始します。デバッグウィンドウの変数ペインにウィンドウが表示されます。ウィンドウを表示または非表示にするには、変数ペインのツールバーにある対応するアイコンをクリックします。式の評価:現在のコンテキストで使用可能なものを参照する式を入力して、を押すことができます。式のすぐ下に結果が表示
![](https://resources.jetbrains.com/help/img/rider/2024.1/visualize_data_structures_view.png)
データ構造を視覚化する
デバッグ時に、JetBrains Rider を使用すると、コード内のデータ構造を表形式で視覚化できます。これにより、データの構造、内容、変換をすばやく理解できます。コード内の複雑なパターンを理解するプロセスが簡素化され、最終的にデバッグの効率が向上します。デバッグコンテキストに、データベースクエリの結果を含む変数があり、この変数の内容を調べたいとします。これに対応する 1 つの方法は、式の評価ダイアログを使用して、を含むさまざまな式を記述することです。さらに便利な方法は、表形式で内容を視覚的に...