イミディエイトウィンドウを使用してプログラムと対話する
イミディエイトウィンドウを使用すると、プログラムの一時停止状態で使用可能なオブジェクトおよび機能にアクセスできます。
プログラムがデバッグセッションで中断されるとすぐに、ウィンドウが使用可能になり、入力の受け入れを開始します。デバッグウィンドウの変数ペインにウィンドウが表示されます。
ウィンドウを表示または非表示にするには、変数ペインのツールバーにある対応するアイコン をクリックします。
式の評価
現在のコンテキストで使用可能なものを参照する式を入力して、Enter を押すことができます。式のすぐ下に結果が表示され、現在のセッションで実行された行の履歴に追加されます。最後に評価された式の結果は、変数タブの $result
変数にも表示されます。
機能を実行する
使用可能なオブジェクトのメンバー関数、または現在のコンテキストで使用可能な静的関数を、使用可能なオブジェクトを引数として使用して呼び出すことができます。呼び出しを入力して、Enter を押します。呼び出し終了時のセミコロンはオプションです。
関数の実行パス上のブレークポイントは、通常の呼び出しであるかのように実行を一時停止します。呼び出しには、機能評価で始まるスタックの独自の部分があります。これは、フレームパネルで調べることができます。
呼び出しが完了すると、未処理の例外が発生しても現在の実行ポイント は変更されませんが、関数がオブジェクトを変更すると、変更は現在のプログラム状態に適用されます。
一時変数を作成する
次の例に示すように、一時変数(合成変数とも呼ばれます)を作成し、使用してデバッグセッション中に値を格納したり、他のオブジェクトと対話したりできます。割り当てステートメントの場合、Enter を押す前に、最後にセミコロンを入力する必要があることに注意してください。
オブジェクトの変更
上記の例は、オブジェクトを変更する方法も示しています。通常、スコープ内のオブジェクトに互換性のある値を割り当て、書き込みアクセスメソッドを使用してそれらの値を変更できます。
他の機能を使用する
イミディエイトウィンドウでは、Up/Down を押して、実行された行を循環し(入力の履歴はプロジェクト設定に保存されます)、使い慣れたエディター機能のいくつかを使用できます。
入力するときは、コード補完 (IntelliSense) を使用してください。
入力行の Ctrl+B または Ctrl -click シンボルを押して、それらの宣言を見つけます。
関連ページ:
中断されたプログラムを調べる
フレームを分析することで、中断されたアプリケーションの状態を調べることができます。コードがデバッグモードで実行されている場合、それを一時停止するには 2 つの方法があります。検査するコード内のブレークポイントの設定で、いずれかがヒットするまで待機します。でプログラムの実行を中断します。デバッガーは、一時停止した瞬間に実行中のステートメントを終了し、次に実行する必要のあるステートメントで停止します。一時停止状態では、現在の実行ポイント(次に実行されるステートメント)は、エディターの左側のガターにあ...
デバッグウィンドウ
デバッガーセッションを開始すると、デバッグツールウィンドウが表示されます。このウィンドウを使用して、デバッガーセッションを制御し、プログラムデータ(フレーム、スレッド、変数など)を表示して分析し、さまざまなデバッガーアクションを実行します。これは、デバッグツールウィンドウの概要です。ツールウィンドウの使用に関する一般的な手順については、ツールウィンドウを参照してください。ツールウィンドウのタブを切り替えるには、とを押します。セッション:複数のデバッグセッションを同時に実行すると、それらはデ
コード補完 (IntelliSense)
JetBrains Rider のコード補完機能に慣れ親しむために、実装の基礎をいくつか紹介します。新しい識別子の入力を開始するとすぐに、自動補完の候補リストが表示されます。を押すと、基本補完の候補リストが表示されます。他の 2 つの補完コマンド、型一致補完および第 2 基本補完は、高度なアルゴリズムを適用して、候補リストにさらに項目を追加します。AI Assistant を有効にしている場合は、周囲のコンテキストに基づいてコードブロック全体を作成できる AI を搭載したコード補完を利用できます。...
予測デバッガー
プログラムをデバッグすると、通常はその現在の状態が表示され、すでに実行されたコードを分析できます。関数にステップインした場合、追加のステップアクションを適用するまで、関数の本体内で何が起こっているかはわかりません。予測デバッガーを使用すると、ステップを実行せずに、現在のステートメントの後に何が起こるかを確認できます。コードがバックグラウンドで実行され、次のインサイトが得られます。ブール式の結果を予測して表示します。実行されないメソッド部分を視覚的に「ミュート」します。それ以降の実行は例外で終了す...