デバッガは次のコマンドを理解します。
ほとんどのコマンドは1文字ないしは2文字に省略されています。
例えば ``h(elp)''は``h'' または ``help''を意味し
helpコマンドを入力するために使えます。(しかし``he''、
``hel''、``H''、``Help、``HELP''はダメです)
コマンドへの引き数は空白(タブまたはスペース)で区切られていなければなりません。
オプションの引き数はコマンドシンタックス上はカギ括弧[]で囲まれています。カギ括弧をタイプしてはいけません。
コマンドシンタックスでの選択肢は直立したバー(``|'')によって分けられています。
ブランクラインを入力すると、最後に入力されたコマンドをくり返します。
例外
もし、最後のコマンドが``list''コマンドであった場合は次の11行がリストされます。
デバッガが認識できないコマンドはPythonのステートメントであると判断され、 デバッグされているプログラムのコンテキスト(文脈)で実行されます。 Pythonのステートメントは感嘆符!を接頭語として指定することもできます。 これは、デバッグされているプログラムを点検する強力な方法です。 つまり、変数を変えることやあるいは関数を呼び出すことも可能です。 このようなステートメントで例外が発生した場合は例外名が表示されますが、デバッガの状態は変化しません。
引き数なしで、利用可能なコマンドのリストを表示します。 コマンドを引き数とした場合は、そのコマンドについてのヘルプを表示します。 「help pdb」はすべてのドキュメントファイルを表示します。 もし、環境変数「PAGER」が定義されていたら そのファイルはそのコマンドを通してパイプ処理されます。 コマンド引き数は識別子でなければならないので、 「help exec」はヘルプを表示するために感嘆符!をつけて入力されなければなりません。
再下層から最も近いフレームで、スタックトレースを表示します。 矢印がカレントフレームを示しています。 そしてそれがほとんどのコマンドの文脈を決定します。
スタックトレース中のカレントフレームを1レベル下(古いフレーム)にさげます。
スタックトレース中のカレントフレームを1レベル上(新しいフレーム)にあげます。
lineno引き数で、現在のファイルのそのラインNoにブレークポイントを設定します。 function引き数で、そのファンクションの入り口にブレークポイントを設定します。 引き数なしの場合は、すべてのブレークポイントをリストします。 もし、2番目の引き数があれば、それはブレークポイントで停止する前に 真と評価される式を指定する(ストリングクオートに囲まれた)文字列でなければなりません。
lineno引き数で、現在のファイルでのそのラインNoのブレークポイント設定を解除します。引き数なしの場合は、すべてのブレークポイントを解除(まず確認をしますが)します。
現在の行を実行し、最初の停止可能なところ(呼び出された関数あるいは現在の関数の次の行)で停止します。
現在の関数の次の行に到達するか、あるいは関数がリターンするまで実行を続けます。 (nextとStepの間の違いは、Stepの場合は呼び出された関数内で停止します。一方nextは現在の関数の次行に行く場合だけ停止し、 それ以外は全速で呼び出された関数を実行します。)
現在の関数がリターンするまで実行を続けます。
実行を続け、ブレークポイントを通過する時のみストップします。
現在のファイルのソースコードをリストアップします。 引き数なしの場合は、現在の行のまわり11行をリストアップするか、または、前のリストの続き11行をリストアップします。 引き数が1つの場合は、現在の行のまわり11行をリストアップします。 引き数が2つの場合は、与えられた範囲でリストアップを行います。 もし、2つめの引き数が1つめの数値より小さい場合は、それは行数と判断されます。
現在の関数の引き数のリストを表示します。
カレントのコンテキストでその式を評価し、その値をプリントします。 (注:printを同じく使用することができます。しかし、これはデバッガコマンドではありません。 これはパイソンのprint文を実行する事になります。)
現在のスタックフレームのコンテキスト中でstatement(1行)を実行します。 感嘆符はステートメントの最初の文字がデバッガコマンドと同一でなければ 省くことができます。 グローバル変数をセットしたい場合、同じ行にglobalを先頭につけて代入コマンドを記述できます。 例えば、
(Pdb) global list_options; list_options = ['-l'] (Pdb)
デバッガを終了します。 実行されていたプログラムも停止します。
guido@python.org