PyCharm 2024.1 ヘルプ

ブレークポイント

ブレークポイントは、特定のポイントでプログラムの実行を一時停止する特別なマーカーです。これにより、プログラムの状態と動作を調べることができます。ブレークポイントは、たとえば、特定のコード行に到達したときにプログラムを一時停止するなどの単純なものから、追加の条件をチェックしたり、ログに書き込んだりするなどのより複雑なロジックを含むものまであります。

ブレークポイントは、一度設定すると、一時的なブレークポイントを除き、明示的に削除するまでプロジェクト内に残ります。

ブレークポイントの種類

PyCharm では、次のタイプのブレークポイントを使用できます。

  • 行ブレークポイント : ブレークポイントが設定されたコード行に到達したらプログラムを中断します。このタイプのブレークポイントは、実行可能なコード行に設定できます。

  • 例外ブレークポイント : Exception またはそのサブクラスがスローされたときにプログラムを一時停止します。PyCharm では、Python 例外にブレークポイントを設定できます。PyCharm Professional では、Django、Jinja2、JavaScript、Jupyter の例外ブレークポイントを使用できます。これらは例外条件にグローバルに適用され、特定のソースコード参照を必要としません。

ブレークポイントの設定

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

  • ブレークポイントを設定するコードの実行可能な行でガターをクリックします。または、行にキャレットを置き、Ctrl+F8 を押します。

    Line breakpoint

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

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

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

ブレークポイントの管理

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

  • 例外以外のブレークポイントの場合: ガターのブレークポイントをクリックします。

  • すべてのブレークポイントの場合: メインメニューで実行 | ブレークポイントの表示 Ctrl+Shift+F8 に移動し、ブレークポイントを選択して、除去 Delete をクリックします。

誤ってブレークポイントを削除してそのパラメーターを失うのを防ぐために、エディターにドラッグするか、マウスの中央ボタンをクリックして、ブレークポイントを削除することを選択できます。これを行うには、設定 | ビルド、実行、デプロイ | デバッガーに移動してエディターにドラッグまたはマウスの中央ボタンをクリックを選択します。ブレークポイントをクリックすると、それが有効または無効になります。

ブレークポイントのミュート

ブレークポイントでしばらく停止する必要がない場合は、ミュートできます。これにより、デバッガーセッションを移動することなく、通常のプログラム操作を再開できます。その後、ブレークポイントのミュートを解除して、デバッグを続行できます。

  • デバッグツールウィンドウのツールバーにあるブレークポイントのミュートボタン Mute Breakpoints button をクリックします。

ブレークポイントを使用可能 / 使用不可にする

ブレークポイントを削除すると、その内部構成は失われます。パラメーターを失うことなく個々のブレークポイントを一時的にオフにするには、無効にすることができます。

  • 非例外ブレークポイントの場合: 右クリックして、必要に応じて有効オプションを設定します。ブレークポイントの削除が割り当てられていない場合は、マウスの中央ボタンで切り替えることもできます。

  • すべてのブレークポイントの場合: 実行 | ブレークポイントの表示 Ctrl+Shift+F8 をクリックして、リストのブレークポイントをオン / オフにします。

ブレークポイントの移動 / コピー

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

  • ブレークポイントをコピーするには、Ctrl を押したまま、ブレークポイントを別の行にドラッグします。これにより、宛先に同じパラメーターを持つブレークポイントが作成されます。

設定されたすべてのブレークポイントを表示

ブックマークツールウィンドウですべてのブレークポイントのリストを表示できます。ブレークポイントは、コード内に配置すると、ツールウィンドウの専用リストに自動的に追加されます。

  • メインメニューで、表示 | ツールウィンドウ | ブックマークに移動するか、Alt+2 を押してブレークポイントリストを展開します。

Bookmarks tool window

ブレークポイントのプロパティを構成する

ブレークポイントのタイプに応じて、特定のニーズに合わせて操作を調整できる追加のプロパティを構成できます。最も使用されるオプションは、インテンションを介して利用できます。

  • ブレークポイントインテンションにアクセスするには、ブレークポイントのある行にキャレットを置き、Alt+Enter を押します。このオプションは、基本的なブレークポイントプロパティをすばやく設定する必要がある場合に使用します。

  • プロパティの完全なリストにアクセスするには、ブレークポイントを右クリックしてさらにをクリックするか、Ctrl+Shift+F8 を押します。

インテンションリファレンス

インテンション

説明

ブレークポイントの除去

選択した行のブレークポイントを削除します。

ブレークポイントの無効化

選択した行のブレークポイントを無効にします。

ブレークポイントの編集

最もよく使用されるブレークポイントプロパティを含むダイアログを開きます。その他のプロパティについては、さらにをクリックするか Ctrl+Shift+F8 を押します。

ブレークポイントのプロパティリファレンス

オプション

説明

ブレークポイントの種類

有効

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

すべてのタイプ

中断

チェックボックスを選択すると、ブレークポイントに達したときにプログラムの実行が一時停止します。アプリケーションを一時停止すると、ログ情報を取得したり、特定の時点でプログラムを中断することなく式を計算したりする必要がある場合に役立ちます。ヒットしたときに依存ブレークポイントをトリガーするマスターブレークポイントを作成する必要がある場合は、そのブレークポイントでプログラムを中断しないように選択します。

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

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

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

すべてのタイプ

条件

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

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

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

ログ

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

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

  • スタックトレース : ブレークポイントに到達すると、そのスタックトレースがコンソールに出力されます。

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

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

評価して記録

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

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

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

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

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

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

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

すべてのタイプ

未キャッチのみ

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

JavaScript 例外ブレークポイント

有効化ポリシー

終了時

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

Python 例外ブレークポイント

raise 時

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

Python 例外ブレークポイント

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

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

Python 例外ブレークポイント

ブレークポイントのステータス

ブレークポイントには、次のステータスがあります。

状況

説明

検証済み

デバッガーセッションを開始した後、デバッガーはプログラムをブレークポイントで一時停止することが技術的に可能かどうかをチェックします。はいの場合、デバッガーはブレークポイントを検証済みとしてマークします。

警告

ブレークポイントでプログラムを一時停止することが技術的に可能ですが、それに関連する問題がある場合、デバッガーはブレークポイントのステータスを警告に設定します。これは、たとえば、メソッドの実装の 1 つでプログラムを一時停止することが不可能な場合に発生することがあります。

無効

ブレークポイントでプログラムを一時停止することが技術的に不可能な場合、デバッガーはそれを無効としてマークします。これは、その行に実行可能なコードがないためよく発生します。

非アクティブ / 依存

ブレークポイントは、別のブレークポイントに到達するまで無効になるように構成されている場合、非アクティブ / 依存としてマークされますが、これはまだ発生していません。

ミュート

すべてのブレークポイントはミュートされているため、一時的に非アクティブです。

無効

それはされているため、このブレークポイントが一時的にアクティブで無効

中断しない

このブレークポイントには中断ポリシーが設定されているため、ヒットしたときに実行が中断されることはありません。

ブレークポイントアイコン

タイプステータスに応じて、ブレークポイントは次のアイコンでマークされます。

メソッド

例外

標準

line breakpoint

method breakpoint

exception breakpoint

無効

disabled line breakpoint

disabled method breakpoint

disabled exception breakpoint

検証済み

verified line breakpoint

verified method breakpoint

ミュート

muted line breakpoint

muted method breakpoint

非アクティブ / 依存

inactive/dependent line breakpoint

inactive/dependent method breakpoint

ミュート無効

muted disabled line breakpoint

muted disabled method breakpoint

中断しない

non-suspending line breakpoint

non-suspending method breakpoint

確認済みの一時停止なし

verified non-suspending line breakpoint

verified non-suspending method breakpoint

無効

invalid breakpoint

生産性のヒント

デバッグ印刷にブレークポイントを使用する

コードに出力ステートメントを挿入する代わりに、non-suspending ログブレークポイント(他のデバッガーではウォッチポイントと呼ばれることもあります)を使用します。これにより、デバッグログメッセージを処理する、より柔軟で集中化された方法が提供されます。

ロギングブレークポイントをより迅速に設定する

non-suspending ロギングブレークポイントを設定するには、Shift を押しながらガターをクリックします。これはプログラムの実行を中断せず、代わりに Breakpoint reached: threads.py:28 のようなメッセージを記録します。エディターの前にある式をログに記録する場合は、Shift を押しながらガターをクリックする前に、式を選択します。

ブレークポイントの説明を追加する

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

ソースに移動

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

関連ページ:

ブックマーク

大規模なプロジェクトで作業する場合、ファイルやフォルダーの検索には時間がかかる場合があります。そのような場合、PyCharm はブックマークを備えています。必要なコード行をブックマークして、見つけやすくすることができます。他のプロジェクトアイテムよりも頻繁に必要なプロジェクトファイルとフォルダーをブックマークすることもできます。すべてのブックマークはブックマークツールウィンドウのリストにグループ化されており、メインメニューからを選択するか、を押すと開くことができます。ツールウィンドウには、コー...

デバッガーセッションを開始する

デバッガーセッションの開始は、プログラムを通常モードで実行するのと非常によく似ています。デバッガーはバックグラウンドで接続されているため、デバッガーセッションを開始するために特別な設定を行う必要はありません。PyCharm からプログラムを実行できる場合は、同じ構成を使用してプログラムをデバッグすることもできます。プログラムをデバッグするたびに、デバッガーセッションは実行 / デバッグ構成に基づいています。PyCharm を構成して、プログラムを起動する前に任意のパラメーターを使用し、任意のアク...

デバッグ

デバッグセッション中に、デバッガーをアタッチしてプログラムを起動します。デバッガーの目的は、プログラムの実行を妨害し、内部で何が起こっているかに関する情報を提供することです。これにより、プログラムのバグを検出して修正するプロセスが容易になります。デバッグが初めての場合は、PyCharm を使用したデバッグチュートリアルを試してください。デバッグオプションを構成するで一般的なデバッグプロパティと動作を構成します。デバッグが初めての場合は、すぐに使用できる構成が機能します。各デバッガー機能に関するト...