JetBrains Rider 2020.2 ヘルプ

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

中断されたプログラムでは、プログラムの実行を制御できます。プログラムをステップ実行することで、実行ポイントを目的のコードに進め、このポイントでプログラムの状態を調べることができます。

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

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

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

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

すべてのステップコマンドは、実行メニューのショートカットを介して、およびデバッグウィンドウツールバーのボタンで使用できます。

JetBrains Rider: Stepping buttons on the Debug window toolbar

以下は、すべてのステップコマンドの簡単な概要です。

コマンド アイコン ショートカット それを使用して ...
ステップイン Step IntoF7 現在の行から呼び出された最初の関数の最初のステートメントで停止する
スマートステップイン Smart Step IntoShift+F7 現在の行に複数の呼び出しがある場合、ステップインする関数を選択する
ステップアウト Step OutShift+F8 現在の関数を最後まで実行し、呼び出し元のコンテキストで関数呼び出しに続くステートメントで停止する (または、途中の最初のブレークポイント(存在する場合))
ステップオーバー Step OverF8 現在のステートメントとそれが呼び出すすべての関数を実行し、次のステートメントの前に停止する (または、途中の最初のブレークポイント(存在する場合))
強制的にステップオーバー Force Step OverAlt+Shift+F8 ステップオーバーのように次のステートメントにステップしますが、呼び出されたメソッドのすべてのブレークポイントがあれば無視する
カーソル位置まで実行 Run to CursorAlt+F9 プログラムの実行を再開し、ターゲットステートメントの前で停止する (または、途中の最初のブレークポイント(存在する場合))
ノンストップカーソルまで実行 Run to Cursor Non-StopCtrl+Alt+F9 カーソル位置まで実行のようにターゲットステートメントまでコードを実行しますが、途中のすべてのブレークポイントを無視する
カーソルにスキップ Skip to CursorCtrl+Alt+Shift+F9 ターゲットステートメントを次に実行するようにし、現在のステートメントとターゲットステートメント間のすべてのコードをスキップする

デバッグセッションを終了するには、Ctrl+F2 を押し、メニューで実行 | 停止を選択するか、デバッグウィンドウ停止 Stop をクリックします。これにより、デバッガーがアプリケーションから切り離され、アプリケーションが終了します(JetBrains Rider から実行した場合)。

ステップイン

現在の行から呼び出された関数をデバッグする必要がある場合、実行メニューおよびデバッグウィンドウで使用可能なステップイン Step Into コマンド F7 を使用して、コールチェーンにステップダウンできます。

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

デフォルトでは、JetBrains Rider は外部ソースのデバッグを有効にします。つまり、ライブラリコードにステップインすると、自動的に逆コンパイルされ、デバッガーがそこに実行ポイントを移動します。
デバッガーでライブラリコードを無視する場合は、外部ソースのデバッグを無効にすることができます。JetBrains Rider 設定 Ctrl+Alt+Sビルド、実行、デプロイ | デバッガーページで外部ソースデバッグを有効にするをクリアします。

スマートステップイン

現在の行に複数のネストされた呼び出しが含まれている場合、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 を使用します。

デバッガーは、関数の残りの行を単独で実行し、関数呼び出しの後のステートメントに実行ポインタを設定します。

ステップオーバー

特定の機能の動作に興味がない場合は、スキップできます(機能は引き続き実行されます)。ステップオーバー Step Over コマンド F8 を使用します。F8実行メニューおよびデバッグウィンドウでも使用できます。

強制的にステップオーバー

ステップオーバーする関数にブレークポイントが含まれている場合、対応するステートメントが実行されると、デバッガーはそれらのブレークポイントで停止します。強制的にステップオーバー Force Step Over コマンド Alt+Shift+F8 は、実行メニューおよびデバッグウィンドウでも使用できるため、デバッガーに呼び出しチェーン内のブレークポイントを強制的にスキップさせることができます。

カーソル位置まで実行

特定のステートメントにブレークポイントを設定し、プログラムを再開して、ブレークポイントがヒットするのを待つ代わりに、実行メニューおよびデバッグウィンドウでも使用できるカーソル位置まで実行 Run to Cursor コマンド Alt+F9 を使用して、このステートメントまで実行するようにデバッガーを設定できます。

JetBrains Rider 設定 Ctrl+Alt+Sビルド、実行、デプロイ | デバッガーページでフローティングデバッガーアクションを表示するが有効になっている場合、ターゲットステートメントの上にマウスを移動して、対応するアクションを選択できます。

JetBrains Rider debugger: Run to cursor with the hover action

エディターに行番号が表示され、JetBrains Rider 設定 Ctrl+Alt+Sビルド、実行、デプロイ | デバッガーページで行番号をクリックしてカーソルまで実行するが有効になっている場合、行番号をクリックしてこの行に移動できます。

JetBrains Rider debugger: Run to cursor using the line number

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

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

カーソルにスキップ

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

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

JetBrains Rider: Dragging the execution pointer

JetBrains Rider 設定 Ctrl+Alt+Sビルド、実行、デプロイ | デバッガーページでフローティングデバッガーアクションを表示するが有効になっている場合、ターゲットステートメントの上にマウスを移動して、対応するアクションを選択できます。

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

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

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

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

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

最終更新日 :

関連ページ:

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

フレームを分析することにより、中断されたアプリケーションの状態を調べることができます。プログラムがデバッグモードで実行されている場合、プログラムを中断する方法は 2 つあります。検査するコード内のブレークポイントを設定するで、いずれかがヒットするまで待機します。または実行 | プログラムの中断で...

デバッグを開始

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

ブレークポイント

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

デバッグウィンドウ

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

コールトラッキング

コールトラッキングを使用すると、コード内のチェーンコールを表示およびナビゲートできます。JetBrains Rider コールトラッキングでは、関数、イベント、インターフェース、クロージャを探索できます。階層表示では、アイコンを使用してさまざまな種類のシンボルを区別します。シンボルアイコンスキームリ...

外部コードのデバッグ

JetBrains Rider は、外部コードをオンザフライで逆コンパイルしてデバッガーにインジェクションする統合デコンパイラにより、external-library コードのデバッグを簡単にします。外部ソースのデバッグはデフォルトで有効になっています。デバッガーでライブラリコードを無視する場合は、...