2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Pythonデバッガ pdb クイックリファレンス

2
Last updated at Posted at 2025-07-23

pdb (The Python Debugger) は、Pythonに標準で付属しているインタラクティブなソースコードデバッガです。プログラムの実行を任意の場所で一時停止させ、その時点での変数の状態を確認したり、コードを1行ずつ実行したりすることができます。

1. pdbの起動方法

pdbを起動するには、主に2つの方法があります。

方法A:ソースコードにブレークポイントを埋め込む (最も手軽)

デバッグしたい箇所のソースコードを直接編集し、実行を一時停止させる方法です。

  1. コードの挿入
    デバッグしたい処理の直前に、以下のいずれか1行を記述します。
    # Python 3.7以降 (推奨)  
    breakpoint()  
    
    # それ以前のバージョン  
    import pdb; pdb.set_trace()
    
  2. プログラムの実行
    通常通りにPythonプログラムを実行します。(例: Webサーバーを起動する、テストスクリプトを実行する、など)
  3. デバッグ開始
    プログラムの実行が breakpoint() または pdb.set_trace() の行に到達すると、実行が一時停止し、ターミナルに (Pdb) というプロンプトが表示されます。ここからデバッグコマンドを入力できます。

方法B:コマンドラインからスクリプトを起動する

ソースコードを編集せずに、スクリプト全体をデバッグモードで開始する方法です。

python -m pdb your_script.py

このコマンドで実行すると、スクリプトの最初の行で処理が一時停止し、(Pdb)プロンプトが表示されます。

2. 主要なPDBコマンド

(Pdb) プロンプトが表示されたら、以下のコマンドで対話的にデバッグを進めることができます。コマンドは省略形(エイリアス)でも入力可能です。

コマンド エイリアス 説明
n (next) n 次の行へ進む。 関数呼び出しがあってもその内部には入らない(関数をまとめて実行する)。
s (step) s ステップイン。 次の行へ進むが、それが関数呼び出しの場合、その関数の内部に入る。
c (continue) c 処理を再開する。 次のブレークポイントまで、またはプログラムが終了するまで実行を続ける。
p <expression> p 変数の値を表示する。 p my_variable のように使う。p self.name のような式も評価可能。
pp <expression> pp pと同様だが、pprintモジュールを使って、辞書やリストをより見やすく整形して表示する。
l (list) l 現在行の前後11行のソースコードを表示する。
a (args) a 現在の関数の引数一覧を表示する。
b <line_no> b ブレークポイントを追加する。 b 25 のように行番号を指定する。
cl <bp_number> cl ブレークポイントを削除する。 bで設定した際のブレークポイント番号を指定する。
r (return) r 現在の関数が終了するまで実行を続ける。 関数の出口で停止したい場合に便利。
up / down u / d コールスタックを移動する。 関数呼び出しの階層を上がったり(up)、下がったり(down)できる。
whatis <expr> whatis 変数や式の型を表示する。
q (quit) q デバッガを終了し、プログラムを強制終了する。
h (help) h ヘルプを表示する。 h <command>で特定のコマンドの詳細なヘルプも参照可能。
interact インタラクティブシェルを起動する。 現在のスコープで自由にPythonコードを実行できる。

3. エディタ/IDEとの連携 (デバッガー方式)

VSCodeなどの高機能なエディタやIDEでは、GUIを使ってより直感的にデバッグを行うことができます。

  1. 設定 (launch.json)
    VSCodeの場合、.vscode/launch.json ファイルにデバッグ実行のための設定を記述します。これにより、デバッガの起動方法(引数や環境変数など)を定義できます。
  2. デバッグ実行
    • エディタの行番号の横をクリックして、視覚的にブレークポイントを設定します。
    • デバッグ実行を開始すると(通常はF5キー)、プログラムが起動し、ブレークポイントで一時停止します。
    • 変数の状態はサイドパネルの「変数」ビューに一覧表示され、ステップ実行などの操作はデバッグツールバーのボタンから行えます。

この方法は、内部的にはpdbと同様の仕組みを利用していることが多いですが、ターミナルでコマンドを打つ代わりに、GUIで快適にデバッグ作業を進めることができます。

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?