2014/05/19

Pythonの標準デバッガpdbの使い方

コマンドラインからPythonの標準デバッガ「pdb」を使うときに忘れがちなのでメモ。よく使うデバッガコマンドだけ。
(PyCharmとかのIDEを使えばもっと簡単に使える)

■コマンド
% python -m pdb test.py
test.pyをデバッグ実行できる

■pdbのデバッガコマンド

l
list。実行中のプログラムの周囲11行を表示。第一引数で数字を指定した場合は、その行の周囲11行を表示。例えば「l 12 」。指定した範囲のプログラムリストを表示したい場合は「l 10, 40」とする。PC(プログラムカウンター)がどこにあるかも確認できるしブレイクポイントを貼るときの行数の確認にもなるのでまずはコレ。

b
ブレイクポイントを指定。 「b 10」で10行目にブレイクポイントを貼る。ファイル名を指定したい場合は「b test.py:10」。行番号を指定しない場合はブレイクポイントの一覧表示。

cl
clear。指定したブレイクポイントを解除。指定方法はブレイクポイントと同じ。

s
Step Into。中へ中へと進む。

n
Step Over。nextの意味らしい。関数呼出しは中にはいらない。

r
return。現在の関数が返るまで実行を継続。

c
continue。次のブレイクポイントまで実行。

p
PCのスコープ内でアクセスできる式を評価する。「p total」とすると変数totalの値の中身を見ることができる。

q
quit。デバッガを終了する。