JetBrains Rider 2024.1 ヘルプ

デバッグウィンドウ

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

これは、デバッグツールウィンドウの概要です。ツールウィンドウの使用に関する一般的な手順については、ツールウィンドウを参照してください。

ツールウィンドウのタブを切り替えるには、Alt+RightAlt+Left を押します。

JetBrains Rider: Debug window

セッション

複数のデバッグセッションを同時に実行すると、それらはデバッグツールウィンドウの上部にあるタブに分割されます。

Session tabs in the Debug window

特定の実行 / デバッグ構成に対してサービスウィンドウを有効にすると、これらの構成のいずれかをデバッグするときに、デバッグウィンドウの全体ビューがサービスウィンドウ内に表示されます。

Debug window inside Services window

インライン変数値や実行ポイントなどのすべての情報が、選択したセッションタブに表示されます。これは、同じコードを使用する複数のデバッグセッションを並行して実行する場合に重要です。

タブ

デバッグツールウィンドウには、セッションごとに次のタブが表示されます。

  • コンソール: プログラム出力を表示します。

    ローカルセッションの場合、このタブは、デバッガーを接続せずにプログラムを実行した場合と同じように機能します。

    プロセスにアタッチすると、プログラム出力はリダイレクトされず、デバッガー出力のみがデバッガーコンソールに表示されます。

  • デバッグ出力: たとえば Debug.WriteLine() メソッドを使用して、アプリケーションからデバッグ出力に送信されたメッセージを表示します。

  • 並列スタック : ダイアグラム上のスレッドとそのスタックフレームを表示します。

  • デバッガー: 中断されたプログラムの現在の実行ポイントでオブジェクトの状態を調べることができます。

    タブは次のペインに分かれています。

    • 左側のスレッドフレームでは、調べたいスレッドとそのフレームの 1 つを選択できます。

    • 変数 : 選択したフレームのスコープ内のローカル変数を表示します。デフォルトでは、監視は変数と統合されていますが、変数タブにウォッチを表示する をクリックすると、別のペインに監視を表示できます。

  • メモリ : ヒープ上で現在使用可能なオブジェクトに関する情報を提供し、それらのライフタイムを監視および分析できます。

タブを表示 / 隠す

  • Layout options button をクリックして、表示するタブを選択します。

デフォルトレイアウトを復元する

デバッグツールウィンドウのレイアウトを変更し、新しい配置が気に入らない場合は、デフォルトの状態に戻すことができます。

  • デバッグツールウィンドウの右上隅にある Layout options button をクリックしてから、デフォルトレイアウトの復元をクリックします。

デバッグツールバー

選択したタブに関係なく、ウィンドウの左側にある次のツールバーコントロールをいつでも使用できます。

項目

ツールチップとショートカット

説明

Restart

再実行

Ctrl+F5

現在のアプリケーションを停止してもう一度実行するには、このボタンをクリックします。

Resume

再開

F9

アプリケーションが一時停止している場合は、このボタンをクリックしてプログラムの実行を再開します。

Pause

一時停止

Ctrl+Pause

プログラムの実行を一時停止するには、このボタンをクリックします。

Stop

停止

Ctrl+F2

このボタンをクリックして、現在のプロセスを終了します。

View breakpoints

ブレークポイントの表示

Ctrl+Shift+F8

このボタンをクリックすると、ブレークポイントの動作を設定できるブレークポイントダイアログが開きます。

Mute breakpoints

ブレークポイントのミュート

ブレークポイントの状態を切り替えるには、このボタンを使用します。

プロジェクト内のすべてのブレークポイントを一時的にミュートして、ブレークポイントで停止せずにプログラムを実行できます。

Show options menu

デバッガー設定

次のオプションを含むメニューを開きます。

  • プレビュータブでファイルを開く : 対応するフレームが選択されているときにプレビュータブでファイルを開くには、このオプションを選択します。

  • エディターで変数値を表示 : このオプションを選択すると、インラインデバッグ機能が有効になり、エディターでの使用の直後に変数の値を表示できます。

  • 変数をアルファベット順に並べ替え : アルファベット順に変数ペインの値をソートするには、このオプションを選択します。

  • セッション完了時にブレークポイントのミュートを解除 : デバッグセッションが終了した後、すべての無効なブレークポイントを再度有効にするには、このオプションを選択します。

タブをピン留め

現在のタブを固定または固定解除するには、このボタンをクリックします。このウィンドウで最大数のタブに達したときにタブが自動的に閉じないようにするには、タブを固定する必要があります。

項目

ツールチップとショートカット

説明

Restart

再実行

Ctrl+F5

現在のアプリケーションを停止してもう一度実行するには、このボタンをクリックします。

Resume

再開

F9

アプリケーションが一時停止している場合は、このボタンをクリックしてプログラムの実行を再開します。

Pause

一時停止

Ctrl+Pause

プログラムの実行を一時停止するには、このボタンをクリックします。

Stop

停止

Ctrl+F2

このボタンをクリックして、現在のプロセスを終了します。

View breakpoints

ブレークポイントの表示

Ctrl+Shift+F8

このボタンをクリックすると、ブレークポイントの動作を設定できるブレークポイントダイアログが開きます。

Mute breakpoints

ブレークポイントのミュート

ブレークポイントの状態を切り替えるには、このボタンを使用します。

ブレークポイントで停止せずにプログラムを実行するには、プロジェクト内のすべてのブレークポイントを一時的にミュートすることができます。

Show options menu

設定

このボタンをクリックして、次のオプションのメニューを開きます。

  • 値をインラインで表示する : このオプションを選択すると、インラインデバッグ機能が有効になり、エディターでの使用の直後に変数の値を表示できます。

  • アルファベット順に値をソートする : アルファベット順に変数ペインの値をソートするには、このオプションを選択します。

  • セッション完了時にブレークポイントのミュートを解除 : デバッグセッションが終了した後、すべての無効なブレークポイントを再度有効にするには、このオプションを選択します。

タブをピン留め

現在のタブを固定または固定解除するには、このボタンをクリックします。このウィンドウで最大数のタブに達したときにタブが自動的に閉じないようにするには、タブを固定する必要があります。

ステップツールバー

項目

ツールチップとショートカット

説明

Show Execution Point

実行ポイントの表示

Alt+F10

このボタンをクリックすると、エディターで現在の実行ポイントがハイライトされ、対応するスタックフレームがフレームペインに表示されます。

Skip to Cursor

カーソルにスキップ

Ctrl+Alt+Shift+F9

ターゲットステートメントまでプログラムを実行する代わりに、実際に実行せずにコードの一部をスキップすることもできます(たとえば、既知のバグを回避したり、ルーチンを繰り返さないようにするため)。これは、実行メニューおよびデバッグウィンドウでも使用可能なカーソルにスキップ Skip to Cursor コマンド Ctrl+Alt+Shift+F9 を使用して実行できます。

実行ポインタ Execution pointer をマウスでドラッグしてターゲット行にドロップすることにより、プログラムの一部をスキップすることもできます。

JetBrains Rider: Dragging the execution pointer

対象のステートメントにマウスを移動して、対応するアクションを選択することもできます。

JetBrains Rider debugger: Setting the next statement with the hover action

別のステートメントに移動するときは、次のことに注意してください。

  • 古い実行ポイントと新しい実行ポイント間のステートメントは実行されません。

  • 戻ることができます。つまり、すでに実行されたステートメントに戻ります。この場合、すでに実行されたステートメントは取り消されません。

  • 別の関数で次の文を設定することは不可能です。

Step over

ステップオーバー

F8

このボタンをクリックすると、現在のメソッドまたはファイルの次の行までプログラムが実行され、現在の実行ポイント(存在する場合)で参照されているメソッドはスキップされます。現在の行がメソッド内の最後の行である場合、このメソッドの直後に実行された行へのステップが実行されます。

Force step over

強制ステップオーバー

Alt+Shift+F8

このメソッドがブレークポイントを内部に持っていても、このボタンをクリックするとデバッガーがメソッドにステップインします。

Step into

ステップイン

F7

デバッガーを現在の実行ポイントで呼び出されたメソッドにステップインさせるには、このボタンをクリックします。

デバッガーは、現在の行から呼び出される最初の関数の最初のステートメントに実行ポインターを設定します。関数が呼び出されない場合、デバッガーは次のステートメントに進みます。

デフォルトでは、JetBrains Rider は外部ソースのデバッグを有効にします。これは、ライブラリコードにステップインすると、自動的に逆コンパイルされ、デバッガーが実行ポイントをそこに移動することを意味します。

デバッガーにライブラリコードを無視させたい場合は、外部ソースのデバッグを無効にすることができます。JetBrains Rider 設定 Ctrl+Alt+Sビルド、実行、デプロイ | デバッガーページで外部ソースデバッグを有効にするをクリアします。

Smart step into

スマートステップイン

Shift+F7

現在の行にネストされたコールが複数含まれている場合、JetBrains Rider ではステップインするコールを選択できます。次のコード行を考えてみましょう。

Console.WriteLine(Foo(Bar("input") + Baz("input")));

この行にはいくつかの呼び出しが含まれています。ステップインを使用すると、デバッガーはまず Bar() の実装に入り、次に Baz() の実装に入ります。

Bar() など、どの呼び出しにステップインするかを選択する場合は、スマートステップイン Smart Step Into Shift+F7 を使用できます。

JetBrains Rider: Smart step into - stepping into selected call

ステップインする関数を選択すると、デバッガーは選択した関数の最初のステートメントに実行ポインターを設定します。

セレクターは、どの呼び出しがすでに実行されたかを示し、これらの呼び出しを再度実行できるようにします。

複数のメソッド呼び出しを含む行でステップイン F7 を呼び出すときに、「スマートステップイン」動作を有効にすることができます。これを行うには、設定 Ctrl+Alt+Sビルド、実行、デプロイ | デバッガー | ステップページで常にスマートステップインするを選択します。

Step out

ステップアウト

Shift+F8

このボタンをクリックすると、デバッガーが現在のメソッドから抜け出し、直後に実行される行に移動します。

Run to cursor

カーソル位置まで実行

Alt+F9

このボタンをクリックしてプログラムの実行を再開し、実行ポイントがエディターの現在のキャレット位置の行に到達するまで一時停止します。ブレークポイントは必要ありません。実際には、キャレットの現在行に一時的なブレークポイントが設定されていますが、プログラムの実行が一時停止されると削除されます。キャレットがすでに実行されている行に配置されている場合、以前のブレークポイントにロールバックする方法がないため、プログラムはさらに実行するために再開されるだけです。このアクションは、メソッドシーケンスの奥深くまでステップアップし、複数のメソッドを一度にステップアウトする必要がある場合に特に便利です。

指定された行に移動する前に実行する必要がある行にブレークポイントが設定されている場合、デバッガーは最初に検出されたブレークポイントで一時停止します。

対象のステートメントにマウスを移動して、対応するアクションを選択することもできます。

JetBrains Rider debugger: Run to cursor with the hover action

Force run to cursor

ノンストップカーソルまで実行

Ctrl+Alt+F9

現在の実行ポイントとターゲットステートメントの間にブレークポイントがある場合、ノンストップカーソルまで実行 Run to Cursor Non-Stop コマンド Ctrl+Alt+F9 を使用して、デバッガーにこれらのブレークポイントをスキップさせることができます。

Evaluate expression

式の評価

Alt+F8

このボタンをクリックして、式を評価します

項目

ツールチップとショートカット

説明

Show Execution Point

実行ポイントの表示

Alt+F10

このボタンをクリックすると、エディターで現在の実行ポイントがハイライトされ、対応するスタックフレームがフレームペインに表示されます。

Skip to Cursor

カーソルにスキップ

Ctrl+Alt+Shift+F9

ターゲットステートメントまでプログラムを実行する代わりに、実際に実行せずにコードの一部をスキップすることもできます(たとえば、既知のバグを回避したり、ルーチンを繰り返さないようにするため)。これは、実行メニューおよびデバッグウィンドウでも使用可能なカーソルにスキップ Skip to Cursor コマンド Ctrl+Alt+Shift+F9 を使用して実行できます。

実行ポインタ Execution pointer をマウスでドラッグしてターゲット行にドロップすることにより、プログラムの一部をスキップすることもできます。

JetBrains Rider: Dragging the execution pointer

対象のステートメントにマウスを移動して、対応するアクションを選択することもできます。

JetBrains Rider debugger: Setting the next statement with the hover action

別のステートメントに移動するときは、次のことに注意してください。

  • 古い実行ポイントと新しい実行ポイント間のステートメントは実行されません。

  • 戻ることができます。つまり、すでに実行されたステートメントに戻ります。この場合、すでに実行されたステートメントは取り消されません。

  • 別の関数で次の文を設定することは不可能です。

Step over

ステップオーバー

F8

このボタンをクリックすると、現在のメソッドまたはファイルの次の行までプログラムが実行され、現在の実行ポイント(存在する場合)で参照されているメソッドはスキップされます。現在の行がメソッド内の最後の行である場合、このメソッドの直後に実行された行へのステップが実行されます。

Force step over

強制ステップオーバー

Alt+Shift+F8

このメソッドがブレークポイントを内部に持っていても、このボタンをクリックするとデバッガーがメソッドにステップインします。

Step into

ステップイン

F7

デバッガーを現在の実行ポイントで呼び出されたメソッドにステップインさせるには、このボタンをクリックします。

デバッガーは、現在の行から呼び出される最初の関数の最初のステートメントに実行ポインターを設定します。関数が呼び出されない場合、デバッガーは次のステートメントに進みます。

デフォルトでは、JetBrains Rider は外部ソースのデバッグを有効にします。これは、ライブラリコードにステップインすると、自動的に逆コンパイルされ、デバッガーが実行ポイントをそこに移動することを意味します。

デバッガーにライブラリコードを無視させたい場合は、外部ソースのデバッグを無効にすることができます。JetBrains Rider 設定 Ctrl+Alt+Sビルド、実行、デプロイ | デバッガーページで外部ソースデバッグを有効にするをクリアします。

Smart step into

スマートステップイン

Shift+F7

現在の行にネストされたコールが複数含まれている場合、JetBrains Rider ではステップインするコールを選択できます。次のコード行を考えてみましょう。

Console.WriteLine(Foo(Bar("input") + Baz("input")));

この行にはいくつかの呼び出しが含まれています。ステップインを使用すると、デバッガーはまず Bar() の実装に入り、次に Baz() の実装に入ります。

Bar() など、どの呼び出しにステップインするかを選択する場合は、スマートステップイン Smart Step Into Shift+F7 を使用できます。

JetBrains Rider: Smart step into - stepping into selected call

ステップインする関数を選択すると、デバッガーは選択した関数の最初のステートメントに実行ポインターを設定します。

セレクターは、どの呼び出しがすでに実行されたかを示し、これらの呼び出しを再度実行できるようにします。

複数のメソッド呼び出しを含む行でステップイン F7 を呼び出すときに、「スマートステップイン」動作を有効にすることができます。これを行うには、設定 Ctrl+Alt+Sビルド、実行、デプロイ | デバッガー | ステップページで常にスマートステップインするを選択します。

Step out

ステップアウト

Shift+F8

このボタンをクリックすると、デバッガーが現在のメソッドから抜け出し、直後に実行される行に移動します。

Run to cursor

カーソル位置まで実行

Alt+F9

このボタンをクリックすると、プログラム実行を再開し、実行ポイントがエディターの現在のカーソル位置の行に達するまで一時停止します。ブレークポイントは必要ありません。実際には、プログラムの実行が一時停止されると削除されるキャレットの現在の行に一時的なブレークポイントが設定されています。すでに実行されている行にキャレットが配置されている場合は、前のブレークポイントにロールバックする方法がないため、プログラムはその後の実行のために再開されます。このアクションは、メソッドのシーケンスを詳しく調べて、一度にいくつかのメソッドを終了する必要がある場合に特に便利です。

指定された行に移動する前に実行する必要がある行にブレークポイントが設定されている場合、デバッガーは最初に検出されたブレークポイントで一時停止します。

対象のステートメントにマウスを移動して、対応するアクションを選択することもできます。

JetBrains Rider debugger: Run to cursor with the hover action

Force run to cursor

ノンストップカーソルまで実行

Ctrl+Alt+F9

現在の実行ポイントとターゲットステートメントの間にブレークポイントがある場合、ノンストップカーソルまで実行 Run to Cursor Non-Stop コマンド Ctrl+Alt+F9 を使用して、デバッガーにこれらのブレークポイントをスキップさせることができます。

Evaluate expression

式の評価

Alt+F8

このボタンをクリックして、式を評価します

関連ページ:

開始、一時停止、再開、停止

プロセス(アプリケーション、単体テスト、静的メソッド、または実行可能構成を持つもの)をデバッグするには、接続されたデバッガーでこのプロセスを実行する必要があります。デバッグセッションを開始する:デバッグセッションを開始するには、いくつかのオプションがあります。IDE からソースコードを開始できる場合は、を押すか、ツールバーのデバッグをクリックします。このようにして、現在選択されている実行 / デバッグ構成を、接続されているデバッガー(デバッグモード)で起動します。アプリケーションがすでに実行...

ツールウィンドウ

ツールウィンドウは、開発タスクへのアクセスを提供します。ソリューション構造の表示、アプリケーションの実行とデバッグ、バージョン管理システムやその他の外部ツールとの統合、コード分析、検索、ナビゲーションなどです。デフォルトでは、ツールウィンドウはメインウィンドウの下部と側面に接続されています。ただし、別のモニターなどで別のウィンドウとして使用するために、再配置したり、切り離したりすることもできます。一部のツールウィンドウは常に使用可能であり (たとえば、エクスプローラーおよび構造)、一部は特定のプ...

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

フレームを分析することで、中断されたアプリケーションの状態を調べることができます。コードがデバッグモードで実行されている場合、それを一時停止するには 2 つの方法があります。検査するコード内のブレークポイントの設定で、いずれかがヒットするまで待機します。でプログラムの実行を中断します。デバッガーは、一時停止した瞬間に実行中のステートメントを終了し、次に実行する必要のあるステートメントで停止します。一時停止状態では、現在の実行ポイント(次に実行されるステートメント)は、エディターの左側のガターにあ...

マルチスレッドアプリケーションのデバッグ

マルチスレッドアプリケーションは、一度に複数のスレッドを追跡する必要があるため、デバッグは常に困難です。さらに、マルチスレッドアプリケーションでは、不均一なワークロード分散、ロック競合、シリアライズされた実行などの新しいタイプのバグやパフォーマンスの問題が発生します。デバッグセッションのステップ実行から得られるシーケンシャルフローのような錯覚は、マルチスレッドアプリのデバッグ中は役に立たず、誤解を招く可能性があります。同時実行のバグとなる可能性のある問題を調査する場合は、逐次ステップではなくブレ...

変数の値とオブジェクトを調べる

プログラムが中断されると、現在選択されているフレームのコンテキストで変数と引数を調べることができます。それらの値を表示して、その場で編集できます。コンテキストを変更するには、フレームペインで別のフレームを選択してください。変数値を表示する:変数値を表示する方法はいくつかあります。変数ペイン変数値を調べるデフォルトの方法は、デバッグウィンドウの変数ペインを使用することです。変数が複合型の場合、ペイン内の対応するノードを展開して、変数に含まれる値を表示できることに注意してください。場合によっては、

変数と式を監視する

現在のフレームのコンテキストで多数の変数または式を評価し、すべて同時に表示し、プログラムをステップ実行しながらそれらの値の変化を追跡する場合は、それらの監視を作成できます。監視対象の変数と式の値は、アプリケーションがデバッグセッション中に中断され、関連するすべての変数が現在のスコープでアクセスできる場合にのみ表示されます。評価された式とは異なり、ウォッチはソリューションの一部として保存され、後続のデバッグセッションで評価されます。追加したすべての監視は、デバッグウィンドウの変数ペインの上部に表示...