PyCharm 2024.3 ヘルプ

プログラムのステップスルー

ステップは、プログラムの段階的な実行を制御するプロセスです。

PyCharm は、次の行に直接移動する必要があるか、中間のメソッド呼び出しもインスペクションする必要があるかなど、戦略に応じて使用される一連のステップアクションを提供します。

ステップボタンは、デバッグウィンドウのツールバーにあります。

Debug tool window

ステップオーバー

現在のコード行をステップオーバーし、ハイライトされた行にメソッド呼び出しが含まれている場合でも、次の行に移動します。メソッドの実装はスキップされ、呼び出し元メソッドの次の行に直接移動します。

  • ステップオーバーボタン Step Over button をクリックするか、F8 を押します。

スキップされたメソッド内にブレークポイントがある場合、デバッガーはそれらで停止します。途中でブレークポイントをスキップするには、強制ステップオーバーを使用します。

ステップイン

メソッドに入り、その内部で何が起こるかを表示します。メソッドが正しい結果を返しているかどうかわからない場合は、このオプションを使用します。

  • ステップインボタン Step Into button をクリックするか、F7 を押します。

回線上に複数のメソッド呼び出しがある場合、PyCharm は入力するメソッドを確認します。この機能はスマートステップインと呼ばれます。

デフォルトでは、行に複数のメソッド呼び出しがある場合は常にスマートステップインが使用されます。自動的に使用しない場合は、設定 | ビルド、実行、デプロイ | デバッガー | ステップに移動し、常にスマートステップインするチェックボックスをオフにします。

一部のスクリプトは、通常はデバッグする必要がないため、ステップインによってスキップされます。このリストは、設定ダイアログ (Ctrl+Alt+S) のビルド、実行、デプロイ | デバッガー | ステップページで微調整できます。

  1. 設定ダイアログ(Ctrl+Alt+S)で、ビルド、実行、デプロイ | デバッガー | ステップに移動します。デバッガー: ステップページが開きます。

  2. すべてのライブラリスクリプトをスキップするには、ライブラリスクリプトにステップインしないチェックボックスを選択します。

  3. 特定のスクリプトへのステップ実行を抑止するには、スクリプトにステップインしないチェックボックスを選択し、ツールバーのボタンを使用してスクリプトのリストを作成します。

自分のコードにステップイン

デバッグするときは、独自のコードに集中して、デバッガーがライブラリクラスにステップインしないようにすることができます。

  • 自分のコードにステップインボタン Step into my codeAlt+Shift+F7)をクリックします。

スマートステップイン

スマートステップインは、1 行に複数のメソッド呼び出しがあり、どのメソッドに入るかについて具体的に知りたい場合に役立ちます。この機能により、目的のメソッド呼び出しを選択できます。

  1. メニューからスマートステップインを選択するか、Shift+F7 を押します。

  2. メソッドをクリックします。または、矢印キーまたは Tab キーを使用してメソッドを選択し、Enter または F7 を押して選択を確定します。

    Smart Step into lets you decide which method to enter

デフォルトでは、行に複数のメソッド呼び出しがある場合は常にスマートステップインが使用されます。自動的に使用したくない場合は、設定 | ビルド、実行、デプロイ | デバッガー | ステップに移動し、常にスマートステップインするチェックボックスをオフにします。

ステップアウト

現在のメソッドから抜け出し、呼び出し元のメソッドに移動します。

  • ステップアウトボタン Step Out button をクリックするか、Shift+F8 を押します。

カーソル位置まで実行

キャレットの位置に達するまで実行を継続します。

  1. プログラムを一時停止する行にキャレットを置きます。

  2. メニューからカーソル位置まで実行を選択するか、Alt+F9 を押します。

また、クラシック UI では、ガター内の行番号をクリックしてカーソル位置まで実行を実行できます。

カーソル位置まで実行設定 | ビルド、実行、デプロイ | デバッガーの行番号をクリックする際に動作するかどうかを構成できます。

途中でブレークポイントをスキップするには、カーソル位置まで強制実行を使用します。

強制ステップイン

このメソッドが通常のステップインによってスキップされた場合でも、メソッドのステップ。

  • メニューから強制ステップインを選択するか、Alt+Shift+F7 を押します。

static void count(int to) { for (int i = 0; i < to; i++) { // the program is suspended here System.out.println(i); } System.out.println("Complete!"); }
public void println(String x) { // Force Step Into enters the implementation of PrintStream.println() if (getClass() == PrintStream.class) { writeln(String.valueOf(x)); } else { synchronized (this) { print(x); newLine(); } } }

カーソル位置まで強制実行

キャレットの位置に到達するまで処刑を続行するを実行します。途中のブレークポイントはすべて無視されます。

  1. プログラムを一時停止する行にキャレットを置きます。

  2. メニューからカーソル位置まで強制実行を選択するか、Ctrl+Alt+F9 を押します。

強制ステップオーバー

ステップオーバーは現在のコード行を終了し、現在の行にメソッド呼び出しが含まれている場合でも次の行に移動します。呼び出されたメソッドにブレークポイントがある場合は無視されます。

  • メニューから強制ステップオーバーを選択するか、Alt+Shift+F8 を押します。

ブレークポイントに到達するか、プログラムが中断されると、デバッグツールウィンドウがアクティブになり、プログラムの実行を制御できるようになります。この目的のために、実行メニューコマンド、またはデバッグツールウィンドウのステップツールバーのアイコンを使用できます。

各ステップアクションは、選択したアクションに応じて、実行ポイントを次の実行位置に進めます。

カーソル位置までジャンプ

実行を停止し、キャレットがある行に移動します。途中のすべてのブレークポイントは無視されます。

  1. プログラムを一時停止する行にキャレットを置きます。

  2. 右クリックして、コンテキストメニューからカーソル位置までジャンプを選択します。

関連ページ:

デバッガー: ステップ

このページを使用して、デバッグのステップ速度を向上させ、ステップ実行中にスキップする要素を指定します。JavaScript:常にスマートステップインするデフォルトでは、このチェックボックスが選択されており、複数のメソッド呼び出しを含む行でステップインを呼び出すと、スマートステップインが自動的に呼び出されます。その後、ステップインする呼び出しを選択できます。このチェックボックスがオフの場合、ステップインまたはスマートステップインのいずれかを選択できます。ライブラリスクリプトにステップインしないデバ...

デバッグツールウィンドウ

デバッガーセッションを開始すると、デバッグツールウィンドウが開きます。このウィンドウを使用して、デバッガーセッションを制御し、プログラムデータ (フレーム、変数など) を表示および分析し、デバッガーアクションを実行します。デフォルトでは、プログラムがブレークポイントに到達したときにデバッグツールウィンドウが開き、セッションが終了しても非表示になりません。この動作を変更するには、設定のビルド、実行、デプロイ | デバッガーページに移動し、ブレークポイントでデバッグウィンドウを表示するチェックボッ...

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

デバッガーセッションが開始されると、デバッグツールウィンドウが表示され、次のいずれかが発生するまでプログラムが正常に実行されます。ブレークポイントがヒットしました、プログラムを手動で一時停止する、その後、プログラムは中断され、現在の状態を調べたり、実行を制御したり、実行時にさまざまなシナリオをテストしたりできます。フレームを調べる:プログラムの状態はフレームで表されます。プログラムが一時停止すると、現在のフレームスタックがデバッグツールウィンドウのフレームタブに表示されます。フレームはアクティ

型レンダリングを構成する

デバッグセッション中、PyCharm は変数、型、スレッド、フレームなどの情報を表示します。ただし、特定のランタイムの詳細に焦点を当て、データをフィルター処理したり、特定の形式でレンダリングしたりすることもできます。このシナリオでは、PyCharm を使用すると、デバッガーの出力がデバッグツールウィンドウとエディターに表示される方法をカスタマイズできます。型レンダラーは、Python コンソールおよび Jupyter 変数ビューでも使用されます。カスタム型レンダラー:PyCharm を使用すると...