PyCharm 2019.3ヘルプ

ブレークポイント

ブレークポイントは、特定の時点でプログラムの実行を中断してその動作を調べるためのソースコードマーカーです。

Breakpoint

一度設定すると、明示的に削除するまでブレークポイントはプロジェクト内に残ります( 一時的な行ブレークポイントを除く)。ブレークポイントを含むファイルが外部で変更された場合、たとえば、VCSを介して更新された場合、または外部エディターで変更された場合、行番号が変更された場合は、それに応じてブレークポイントが移動します。そのような変更が行われたときPyCharmは実行中でなければならないことに注意してください。

行ブレークポイント

行ブレークポイントは、コードの実行可能行に設定できます。そのようなブレークポイントを持つ行の前でスレッドの実行が中断され、PyCharmはそのスレッドのスタック上のスタックフレームを表示します。

Djangoの行ブレークポイントはDjangoテンプレートの行に割り当てられ、Djangoタグを含む行にのみ設定できます。対応するタグがDjangoテンプレートエンジンによってレンダリングされたときにトリガされます(Djangoテンプレートのデバッグを参照)。

Django breakpoint

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

  1. ブレークポイントを設定する実行可能コード行にキャレットを置きます。

  2. その行の横にある左のガターをクリックするか、Ctrl+F8を押します。

    一時的な改行を設定するには、Ctrl+Shift+Alt+F8を押します。ヒットした直後にプロジェクトから削除されます。

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

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

ブレークポイントを誤って削除してパラメーターを失うことを避けるために、エディターにブレークポイントをドラッグするか、マウスの中央ボタンをクリックして、ブレークポイントを削除することを選択できます。設定/環境設定ダイアログで Ctrl+Alt+Sビルド、実行、デプロイ | デバッガーに移動してエディターにドラッグまたはマウスの中ボタンをクリックを選択します。ブレークポイントをクリックすると、その状態(有効/無効)が切り替わります。

例外ブレークポイント

例外ブレークポイントは、指定された例外がスローされたときに発生します。それらは例外条件にグローバルに適用され、特定のソースコード参照を必要としません。

PyCharmは、Python、Django、Jinja2、およびJavaScriptに例外ブレークポイントを提供します。Django例外ブレークポイントを使用すると、Djangoテンプレートエラー TemplateDoesNotExist および VariableDoesNotExistが発生したときにプログラムの実行を中断できます。

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

  1. Ctrl+Shift+F8 を押すか、メインメニューから実行 | ブレークポイントの表示を選択します。

  2. ブレークポイントダイアログで、Alt+Insert を押すかthe Add buttonをクリックし、Python 例外ブレークポイントDjango 例外ブレークポイントJinja2 例外ブレークポイント、またはJavaScript例外ブレークポイントを選択します。

  3. 例外クラスを入力ダイアログで、ライブラリーまたはプロジェクトからの例外クラスを指定します。

例外ブレークポイントを除去する

  1. Ctrl+Shift+F8 を押すか、メインメニューから実行 | ブレークポイントの表示を選択します。

  2. ブレークポイントダイアログで、削除したいブレークポイントを選択して the Remove button をクリックするかAlt+Deleteを押します。

ブレークポイントのプロパティー

ブレークポイントの種類に応じて、次のような追加のプロパティーを設定できます。

  • ブレークポイントに到達したときに実行されるアクション

  • ブレークポイントに到達したときにアプリケーションを中断する必要があるかどうかを定義する中断ポリシー

  • 他のブレークポイントへの依存

  • ブレークポイントに到達するタイミングを定義する条件

ブレークポイントのプロパティーを編集するには、Ctrl+Shift+F8キーを押すか、エディターガターでブレークポイントを右クリックします。

オプション

説明

ブレークポイントの種類

使用可能

プロジェクトからブレークポイントを削除せずに一時的に無効にする場合はオフにします。無効にされたブレークポイントはデバッグ処理中にスキップされます。

すべてのタイプ

中断

ブレークポイントに到達したときにプログラムの実行を一時停止する場合に選択します。プログラムを中断せずに特定の時点でロギング情報を取得したり式を計算したりする必要がある場合は、アプリケーションを中断すると便利です。ヒットしたときに従属ブレークポイントをトリガーするマスターブレークポイントを作成する必要がある場合は、そのブレークポイントでプログラムを中断しないように選択してください。

中断ポリシーを選択します。

  • すべて : すべてのスレッドが中断されます

  • スレッド : このブレークポイントを含むスレッドだけが中断されます。スレッドポリシーをデフォルトのポリシーとして使用する場合は、デフォルトにするボタンをクリックしてください。

すべてのタイプ

条件

ブレークポイントを打つための条件を指定するために選択します。条件はPythonのブール式です。

この式はブレークポイントが設定されている行で有効でなければならず、ブレークポイントがヒットするたびに評価されます。評価結果が Trueの場合、選択したアクションが実行されます。

次のように複数行の式を入力できます。

if attempted_password == os.environ['USER_PASSWORD']: session['logged_in'] = True else: session['logged_in'] = False error = 'Invalid credentials. Please, try again.' return session['logged_in']

Pythonの行と例外のブレークポイント

ログ

以下のイベントをコンソールに記録するかどうかを選択します。

  • 「ブレークポイントヒット」メッセージ : ブレークポイントに達すると、ログメッセージがコンソール出力に表示されます。

  • スタック・トレース : ブレークポイントのスタックトレースは、ヒットしたときにコンソールに表示されます。

    これは、プログラムの実行を中断することなく、どのパスがこの時点までに到達したかをチェックしたい場合に役立ちます。

Pythonの行と例外のブレークポイント

評価して記録

ブレークポイントに到達したときに式を評価し、その結果をコンソール出力に表示する場合に選択します。

Pythonの行と例外のブレークポイント

一度ヒットしたら除去する

ヒットした直後にプロジェクトからブレークポイントを削除することを選択します。

Django例外、Jinja2例外、およびJavaScript例外ブレークポイント

ブレークポイントに達するまで無効にする

現在のブレークポイントをトリガするブレークポイントを選択してください。そのブレークポイントがヒットするまで、現在のブレークポイントは無効になります。再度無効にするかヒットした後も有効にしておくかを選択することもできます。

すべてのタイプ

未キャッチのみ

キャッチされていない例外でブレークポイントに達したときに通知を受けるように選択します。

JavaScript 例外ブレークポイント

有効化ポリシー

終了時

プロセスがこの例外をスローして終了したときにデバッガを停止する場合に選択します。

Python 例外ブレークポイント

raise 時

この例外がスローされたときにデバッガを停止する場合に選択します。この場合、プロセスは終了しません。

Python 例外ブレークポイント

ライブラリー・ファイルを無視する

ライブラリー内でこの例外が発生した場合にデバッガを停止したくない場合に選択します。

Python 例外ブレークポイント

生産性のヒント

最も一般的な設定へのクイックアクセス

エディターガター内のブレークポイントを右クリックすると、無効にしたり一時停止したり、条件を設定したりできます。

ブレークポイントインテンション

インテンションアクションAlt+Enter)を介して、最も一般的なブレークポイントアクションとフィルターにアクセスすることができます。

breakpoint intentions

ブレークポイントに達すると、より多くのインテンションアクションが使用可能になります。

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

たとえば、特定の問題に対してブレークポイントをマークアウトする必要がある場合は、ブレークポイントをグループにまとめることができます。

ブレークポイントダイアログCtrl+Shift+F8で、グループに配置するブレークポイントを選択し、コンテキストメニューからグループへ移動 | <group_name> /新規作成を選択します。

ブレークポイントを移動する

行ブレークポイントを移動するには、それを目的の行にドラッグします。

ブレークポイントのコピー

ブレークポイントをコピーするには、Ctrl を押して目的の行にドラッグします。

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

プロジェクトからブレークポイントを削除せずに一時的に無効にするには、Alt キーを押しながらガターのブレークポイントアイコンをクリックします。

クイック検索

プロジェクトに多数のブレークポイントがある場合は、簡単な説明を追加して簡単に検索できます。ブレークポイントダイアログ Ctrl+Shift+F8 でブレークポイントを右クリックし、コンテキストメニューから説明の編集を選択します。ブレークポイントの名前の入力を開始すると、フォーカスが取得されます。

ソースに移動

ブレークポイントダイアログから選択したブレークポイントが設定されているコード行にジャンプするには、F4を押します。

最終更新日: 2019年12月10日

関連ページ:

テンプレート

PyCharmを使用すると、サポートされているテンプレート言語のいずれかで作成されたテンプレートを作成してレンダリングすることができます。Django、Mako、Jinja2、実際にテンプレート言語をインストールせずにテンプレートを編集できることに注意することが重要です。ただし、テンプレートを作成ま...

インテンション・アクション

エディターで作業するときに、PyCharmはコードを分析し、コードを最適化する方法を検索し、潜在的な問題と実際の問題を検出します。IDEがコードを変更する方法を見つけるとすぐに、エディターの現在の行の横に黄色い電球アイコンが表示されます。このアイコンをクリックすると、このコード単位で使用可能なインテ...

デバッグ

デバッグセッションを開始するCoffeeScript、TypeScript、およびDartコードをデバッグするには、そのソースマップを生成する必要があります。これにより、元のコードと生成されたJavaScriptコードの行間の対応が設定されます。ソースマップが生成されない場合、ブレークポイントは認識...

デバッガオプションの設定

PyCharmは、PythonおよびDjangoアプリケーション、クラス、およびファイルのデバッグをサポートしています。デバッグ機能はPyCharmに組み込まれており、設定を行うだけで済みます。有効なプラグインに応じて、PyCharmはJavaScriptなどの他の言語のデバッグをサポートすることも...