JetBrains Rider 2020.2 ヘルプ

ブレークポイント

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

  • 行ブレークポイント、コード内の特定の文に設定できます。実行がこの行に達すると、デバッガーはプログラムの実行を中断します。行ブレークポイントは実行可能な行にのみ設定できます。コメント、宣言、および空行は、行ブレークポイントの有効な場所ではありません。

  • 例外ブレークポイントは、指定された例外がスローされたときにプログラムを中断します。特定のソース参照が必要な行ブレークポイントとは異なり、例外ブレークポイントはグローバルに適用されます。

  • メソッドブレークポイントは、指定されたメソッドを呼び出すたびにプログラムを中断します。例外ブレークポイントと同様に、メソッドブレークポイントはエディターに表示されず、ブレークポイントダイアログ(Ctrl+Shift+F8 または実行 | ブレークポイントの表示 ...)でのみ表示および構成可能です。

プログラムのデバッグ開始する前、およびプログラムが既にデバッガー制御下で実行されている場合(デバッグモードの場合)にも、ブレークポイントを設定できます。すべてのブレークポイントが保存され、JetBrains Rider を再起動した後に失われることはありません。

現在のソリューションのすべてのブレークポイントを表示するには、ブレークポイントダイアログ(Ctrl+Shift+F8 または実行 | ブレークポイントの表示 ...)を使用します。リスト内の個々のブレークポイントについて、必要に応じてそのプロパティを表示および変更できます。

行ブレークポイントの状態

エディターでは、左のガターに赤い円として行ブレークポイントが表示されます。ブレークポイントのアイコンは、ブレークポイントの状態やその他のプロパティを示します。

状態 アイコン 説明
使用可能 Breakpoint enabled 行ブレークポイント。デザイン時に表示
Breakpoint enabled conditional 条件付きラインブレークポイント。ブレークポイントは、特定の条件が満たされたときにのみヒットします。設計時に表示
使用不可 Breakpoint disabled Breakpoint disabled conditional 無効化されたブレークポイントは、プログラムの実行を中断しません。将来、ブレークポイントを有効にして使用するには、ブレークポイントを削除する代わりに無効にすることをお勧めします。
依存関係によって無効になっている Breakpoint dependent Breakpoint dependent conditional 従属行ブレークポイント。従属ブレークポイントは、それが依存しているブレークポイントに到達した後でのみ使用可能になります。
トレースポイント Tracepoint Tracepoint conditional ブレークポイントがプログラムの実行を中断しない場合(ブレークポイントプロパティで中断フラグが無効になっている場合)、事実上トレースポイントになり、プログラムがマークされたコード行にプログラムが到達したときにプログラムの状態ログに記録できます。
有効 breakpoint valid png breakpoint valid conditional png 実行時にブレークポイントが実行可能コード行に設定されているとデバッガーによって認識されたときに表示されます。
無効 breakpoint invalid png breakpoint invalid conditional png ブレークポイントがヒットしないことを示す実行不可能な行にブレークポイントが設定されている場合に表示されます。デバッグされたプログラムに対して正しい PDB ファイルがないなど、ブレークポイントが無効になることがあります。
ミュート Breakpoint muted すべてのブレークポイントが一時的に無効(ミュート)になっているときに表示されます。デバッグウィンドウブレークポイントをミュート icons.debugger.muteBreakpoints.png をクリックすると、ブレークポイントをミュート / ミュート解除できます。

行ブレークポイント

行ブレークポイントを設定する

  • プログラムの実行を一時停止する文にカーソルを設定し、次のいずれかを実行します。

    • Ctrl+F8 を押します。

    • メインメニューで実行 | 行ブレークポイントの切り替えを選択します。

  • ブレークポイントを切り替える行の左のガター領域をクリックします。デフォルトでは、JetBrains Rider 設定 Ctrl+Alt+Sビルド、実行、デプロイ | デバッガーページでマウスホバーでブレークポイントのプレビューを表示オプションが有効になっているため、ブレークポイントを設定できる行の上にマウスを移動するとプレビューアーイコンが表示されます。

    JetBrains Rider: Breakpoint suggestion on mouse hover

最初、ブレークポイントは左のガターbreakpoint enabled png上の赤い丸で表されています。ブレークポイントが設定されているコード行はハイライトされています。デバッグを開始した後、有効なブレークポイントは緑色のチェックマークbreakpoint valid pngでマークされ、プログラムの実行はこのコード行が実行されるに停止します。

JetBrains Rider: A breakpoint is hit

ブレークポイントを実際に削除せずに一時的に無効にするオプションがあります。無効なブレークポイントは空の赤丸breakpoint disabled pngとして表示されます。

行ブレークポイントを無効 / 有効にする

  • Alt を押しながら、左ガターに対応するブレークポイントアイコンをクリックします。

  • マウスの中ボタンでブレークポイントをクリックします。

  • ブレークポイントダイアログで、ブレークポイントの横にあるチェックボックスまたはブレークポイントプロパティの Enabled フラグを使用します。

すべての行ブレークポイントを無効 / 有効にする

  • デバッグウィンドウで、ブレークポイントをミュート icons.debugger.muteBreakpoints.png をクリックします。ミュート状態では、エディターのすべてのブレークポイントが灰色のBreakpoint mutedで表示されます。

行ブレークポイントを削除する

  • エディターで、削除する行ブレークポイントの行を見つけて、左のガターでそのアイコンをクリックします。

  • 目的の行にキャレットを置き、Ctrl+F8 を押します。

  • ブレークポイントダイアログで、目的のブレークポイントを選択し、除去 icons.general.remove.png をクリックします。

1 回だけ機能するブレークポイントが必要な場合は、専用のコマンドを使用して一時的なブレークポイントを設定するか、行、メソッド、または例外のブレークポイントを一時的にすることができます。ヒットすると、そのようなブレークポイントはすぐに削除されます。

一時的な行ブレークポイントを設定する

  1. 実行を中断するステートメントにカーソルを設定します。

  2. 以下のいずれか 1 つを実行します :

    • Ctrl+Alt+Shift+F8 を押します。

    • メインメニューで実行 | 一時行ブレークポイントの切り替えを選択します。

  3. または、ブレークポイントダイアログで目的のブレークポイントを選択し、目的の行ブレークポイントを選択し、ブレークポイントのプロパティで一度ヒットしたら除去するフラグを使用します。

条件付き行ブレークポイント

デバッガーでは、特定のブレークポイントがヒットする条件を設定できます。これは、変数が特定の値をとったときにプログラムがどのように動作するかを見たい場合に役立ちます。

行ブレークポイントの条件を設定する

  1. 以下のいずれか 1 つを実行します :

    • 左ガターの対応するブレークポイントアイコンを右クリックします。

    • ブレークポイントダイアログで、目的の行ブレークポイントを選択します。

  2. 条件フラグを選択し、コンテキストで使用可能な変数を使用する式を入力し、true または false に評価します。 Shift+Enter を押して、複数行エディターを開きます。

式が true と評価されると、ブレークポイントがヒットします。たとえば、以下の例では、ブレークポイントは result > 100 の場合にのみヒットします。

JetBrains Rider: conditional breakpoints

単純な条件では、一定数のヒット後にブレークポイントをトリガするだけでよい場合(たとえば、ブレークポイントがループ内にある場合)、そのヒットカウントプロパティを使用できます。以下の例では、プログラムは 2 の倍数、つまり 2, 4, 6, 8 というように、ブレークポイントがヒットするたびに中断されます。

JetBrains Rider: breakpoints. hit count

依存ブレークポイント

一部の複雑なデバッグの場合(たとえば、マルチスレッドアプリケーションのデバッグ)、ブレークポイントで中断しても、他のブレークポイントがヒットするまで意味がありません。この目的のために、デバッガーでは依存ブレークポイントを作成できます。

現在のブレークポイントが依存する必要があるブレークポイントを設定する

  1. 以下のいずれか 1 つを実行します :

    • 左ガターの対応するブレークポイントアイコンを右クリックし、開いたブレークポイントのプロパティでさらにをクリックします。

    • ブレークポイントダイアログ(Ctrl+Shift+F8 または実行 | ブレークポイントの表示 ...)で、目的のブレークポイントを選択します。

  2. 選択されたブレークポイントに達するまで使用不可にするでは、現在のブレークポイントが依存している必要があるブレークポイントを選択します。

  3. ブレークポイントに達した後

    • 選択されたブレークポイントがヒットした後に現在のブレークポイントを無効にするには、再度使用不可にするを使用します。

    • 選択されたブレークポイントがヒットした後に現在のブレークポイントを有効にします。

プログラムの状態を記録するためのトレースポイント

場合によっては、特定の実行ポイントで式を評価して結果をログに記録したり、ブレークポイントに到達したという事実をログに記録したりする必要があります。通常は、ログエントリごとにプログラムの実行を中断する必要はありません。

これらの目的のために、JetBrains Rider では、任意の行、メソッド、または例外ブレークポイントをトレースポイントに変換できます。トレースポイントメッセージは、デバッグ出力(デバッグウィンドウデバッグ出力タブ)に記録されます。

トレースポイントでプログラムの状態を記録する

  1. 目的のステートメントでブレークポイントを設定する Ctrl+F8 を選択するか、既存のブレークポイントのいずれかを選択します。

  2. 以下のいずれか 1 つを実行します :

    • ブレークポイントを右クリックし、ブレークポイントのプロパティでさらにをクリックします。

    • ブレークポイントダイアログ(Ctrl+Shift+F8 または実行 | ブレークポイントの表示 ...)で、目的のブレークポイントを選択します。

  3. トレースポイントにするには、中断チェックボックスをクリアします。もちろんこれはオプションです。両方をブレークポイントで停止し、そのヒットを記録するには、チェックボックスを選択したままにします。

  4. ブレークポイントのヒットをログに記録する方法(「ブレークポイントヒット」メッセージ、この時点でのプログラムのスタックトレース、またはその両方)を選択します。

  5. 行ブレークポイントの場合、任意の式を評価してその結果をログに記録することもできます。評価して記録を選択して、目的の式を入力します。
    スコープで使用可能な変数、クラス、およびそれらのメソッドを使用できます。明確なテキストを出力に追加するには、String.Format() または文字列連結を使用します。
    必要に応じて、Shift+Enter を押して複数行エディターを開きます。

例:次のような表現:

JetBrains Rider: evaluating expressions on tracepoint
デバッグ出力タブに次の結果が表示されます。
JetBrains Rider: evaluating expressions on tracepoint

ブレークポイントのラベル

JetBrains Rider では、検索を容易にするために、ブレークポイントにラベル(名前または短い説明)を付けることができます。

ラベルをブレークポイントに追加する

  1. ブレークポイントダイアログ(Ctrl+Shift+F8 または実行 | ブレークポイントの表示 ...)を開きます。

  2. 目的のブレークポイントを右クリックします。

  3. コンテキストメニューで説明の編集を選択し、目的の名前 / 説明を入力します。

指定された説明は、ブレークポイントのアドレスの横に表示されます。

JetBrains Rider: assigning a name to a breakpoint

ラベルでブレークポイントを見つける

  1. ブレークポイントダイアログ(Ctrl+Shift+F8 または実行 | ブレークポイントの表示 ...)を開きます。

  2. 目的のブレークポイントの名前(説明)を入力し始めます。検索はキャメルハンプをサポートしています。

一致する説明のブレークポイントがフォーカスを取得します。

JetBrains Rider: searching breakpoints

ブレークポイントのグループ

ブレークポイントダイアログでは、たとえば特定の問題のブレークポイントをマークするために、グループ内にブレークポイントを編成できます。グループが作成されると、ブレークポイントをグループの内外に移動し、グループ内のすべてのブレークポイントを一度に有効 / 無効にすることができます。

JetBrains Rider: grouping breakpoints

ブレークポイントのグループを作成する

  1. ブレークポイントダイアログ(Ctrl+Shift+F8 または実行 | ブレークポイントの表示 ...)を開きます。

  2. 目的のブレークポイントを選択します。複数のブレークポイントを選択するには、Ctrl キーを押しながらブレークポイントを選択します。

  3. 選択範囲を右クリックし、コンテキストメニューからグループへ移動 | 新規作成 ... を選択します。

  4. 新規グループダイアログで、新しいグループの名前を入力します。選択したブレークポイントが新しく作成されたグループに移動します。

  5. オプションで、ブレークポイントのグループを右クリックし、デフォルトとして設定を選択することができます。その後、新しく作成されたブレークポイントはすべて自動的にこのグループに追加されます。

  6. 必要に応じて、グループのチェックボックスを選択または選択解除して、グループ内のすべてのブレークポイントを有効または無効にすることができます。

グループが作成されたら、右クリックし、コンテキストメニューでグループへ移動を選択することによって、他のブレークポイントをそのグループに移動できます。

ブレークポイントをグループから移動するには、そのブレークポイントを右クリックしてグループへ移動 | [ グループ名 ] またはグループへ移動 | <グループなし> を選択します。最後のブレークポイントがグループ外に移動すると、グループが削除されます。

グループをすべてのブレークポイントとともに削除するには、そのグループが選択されているときに除去 Remove をクリックします。

スレッド固有のブレークポイント

マルチスレッドアプリケーションのデバッグは難しいかもしれません。実行を継続するたびに、次にブレークポイントにヒットしたときに別のスレッドにいる可能性があります。特定のスレッドのデバッグに集中するために、スレッド固有のブレークポイントを作成できます。

デフォルトでは、任意のブレークポイントは、ヒットしたスレッドとは独立してプログラムの実行を中断します。

ブレークポイントをスレッド固有にする

  1. デバッガーがプログラムスレッドを収集できるようにします。

  2. ブレークポイントを右クリックするか、ブレークポイントダイアログ Ctrl+Shift+F8 で見つけます。

  3. 特定のスレッドでのみ中断するを選択し、プログラムスレッドの 1 つを選択します。

    JetBrains Rider: Making a breakpoint thread-specific

メソッドブレークポイント

メソッドブレークポイントは、指定されたメソッドを呼び出すたびにプログラムを中断します。例外ブレークポイントと同様に、メソッドブレークポイントはエディターに表示されず、ブレークポイントダイアログ(Ctrl+Shift+F8 または実行 | ブレークポイントの表示 ...)でのみ表示および構成可能です。

メソッドブレークポイントを追加する

  1. ブレークポイントダイアログ(Ctrl+Shift+F8 または実行 | ブレークポイントの表示 ...)を開きます。

  2. icons.general.add.png をクリックし、メソッドブレークポイントを選択します。

  3. 開いたダイアログで、タイプの完全修飾名(Namespace.TypeName)とメソッドの名前を指定し、次に OK をクリックします。

データブレークポイント

データブレークポイントを使用すると、特定のオブジェクトのマークされたプロパティが変更されたときにプログラムの実行を中断できます。データブレークポイントは、値の変化を観察し、どのコードが実際に変更を行っているかを把握したい場合に役立ちます。

他の種類のブレークポイントとは異なり、データブレークポイントは特定のデバッグセッションのオブジェクトに適用されるため、デバッグウィンドウ Alt+5 のセッション中にのみ使用できます。

データブレークポイントを使用する

  1. デバッグセッションを開始するを実行してからプログラムの実行を中断し、プログラムの状態調べます。必要に応じて、目的のオブジェクトがローカルスコープに入るまでステップを実行します。

  2. デバッグウィンドウを開き、デバッガータブに切り替え、目的のオブジェクトを見つけて展開し、値を監視するフィールドまたはプロパティを見つけます。

  3. プロパティを右クリックし、データブレークポイントを設定を選択します。

  4. プログラム実行 F9 を再開します。

  5. ブレークポイントでマークされたプロパティがその値を変更するとすぐに、デバッガーは変更を引き起こした行でプログラムを中断します。

次の短いビデオは、データブレークポイントを設定して使用する方法を示しています。

最終更新日 :

関連ページ:

インスペクション変数

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

式の評価

JetBrains Rider を使用すると、別々の変数の値を表示できるだけでなく、メソッド呼び出し、演算子式、ラムダ式、匿名クラスなどのより複雑な式も評価できます。式は、デバッグウィンドウのフレームペインで現在選択されているスタックフレームのコンテキストで評価されます。特定のオペレーティングシステ...

デバッグを開始

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

デバッグウィンドウ

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

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

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