Pythonプログラミングを使用すると、必然的にバグに遭遇したが、PDBデバッガPythonは良い言語であるだろう。
以下は、PDBの使用が記載されています
コード、コマンドのpython -m PDB xxx.py起動スクリプトを介してステッピング1、シングルステップモードに入ります
PDBコマンドライン:
1)コマンドラインデバッグモードに、Pythonの-m PDB xxx.py
2)H:(ヘルプ)ヘルプ
3)W:(ここで)印刷実行スタック
4)D:(ダウン)現在のスタックの実行中に深いにジャンプする(個人的に私は便利なものを感じませんでした)
5)U:(アップ)は、現在のレイヤースタックの実装にジャンプ
6)B:(ブレーク)は、ブレークポイントを追加しました
Bは、現在のすべてのブレークポイントを一覧表示し、実行ブレークポイントの数をカウントします
Bのline_no:スクリプトの現在の行line_noブレークポイントを追加します
Bファイル名:line_no:ブレークポイントを追加するにはline_no行のスクリプトのファイル名
B機能:関数functionの最初の実行可能文にブレークポイントを追加
7)tbreak:(一時的な中断)一時的なブレークポイント
ブレークポイントへの最初の実行後、ブレークポイントを自動的に使用し、Bのように、削除されます
8)CL:(クリア)ブレークポイントをクリア
CLクリアすべてのブレークポイント
CL bpnumber1 bpnumber2 ...ブレークポイント番号bpnumber1、bpnumber2 ...ブレークポイントをクリア
現在のスクリプトのlineno行目でCL LINENOブレークポイントをクリア
CLファイル名:スクリプトのファイル名のブレークポイントをクリアline_no line_no行
9)無効:ブレークポイントのパラメータのbpnumberを無効にし、CLの差はブレークポイントがまだ存在していることですが、有効ではありません
10)有効:活性化は、パラメータをブレークポイントbpnumber
11)S:(工程)コマンドを実行します
この文は、関数呼び出しがある場合には、sが最初の文の機能を実行します
12)は、n:(次の)1つの文
この文は、関数呼び出しの場合、この関数は現在、次のステートメントを実行し、その後、実行されます。
13)R:現在の操作機能の実行の終わりまで(リターン)
14)C:(継続)次のブレークポイントまで実行を継続
15)L:(リスト)ソースリスト
lは11、コードの周りに、現在実行中の文を示しています
コード11の最初にリストされている最初の行の周りにL
第二は、<第一、第二のように解釈される場合のコードの第2の範囲、行数 - 最初にリストL第二
16)A:(引数)は関数の現在の実行する機能を示します
17)P式:(プリント)式の出力値
18)頁式:少し格好良いのp式
19)を実行します。再起動に相当再起動のデバッグを、
20)Q:(終了)は、デバッグを終了しました
21)JのLINENO:条の下で実行(ジャンプ)を設定文関数
のみ実行再び後方ジャンプするように、スタックの最下部に、前方の行番号に直接実行することができます
22)UNT:()次の行に(ループ外)まで、または現在のスタックの端
23)条件bpnumberのconditonは、ブレークポイントの条件を設定するために、条件は、そうでない場合は、無効なブレークポイントbpnumberをbpnumberブレークポイントが有効である引数場合にtrueを返します
注意:
1:直接入力の入力は、前のコマンドを実行します。
2:コマンドを入力します。Pythonの文は、現在の環境で実行されるようPDBが彼を取る、PDBを知りませんでした。
例:
#1 test1.py
S = '0'
、N = INT(S)
プリント(10 / N)
test1.pyを実行するために、コマンドラインを開き、
python -m PDB test1.py
:コードを表示する> S =「0」、最初のコマンドの上に15リットルである入力コマンドL、(リスト) - 次に実行するコードに位置決めPDM
N個の入力コマンドは、コードをステップすることができ
また、Pの変数を参照する変数名を入力することができます
次のようにしかし、この変数を表示するオーバー実行した後でなければならないコードは、そうでない場合、状況は、変数を見つけることができません
操作test.pyを始めて、最初の行S =「0」、この行は、実際に行われていません。このビューでは、変数変数sを見つけるために、プロンプトが表示されます
プログラムを終了するには、デバッグを終了コマンドqを入力します。
2. PDBシングルステップあまりにも面倒なので、第2の方法は、直接コードのデバッグでは、PDBをインポートした後は、(pdb.set_traceを置く場所を必要とする)、あなたはブレークポイントを設定することができ、プログラムは(pdb.set_traceます)一時停止し、PDBデバッグ環境を入力して、あなたは変数を表示するPDB変数名を使用することができ、またはc続行します
上記修飾の例は、以下のように、エラーコードにインポートPDB、添加pdb.set_trace()は以前にしてもよいです
#1 test1.py
輸入PDB
= S '0'
のn = INT(S)
ここでpdb.set_trace()を実行します#が自動的に一時停止します
印刷(10 / N)
サスペンションにコードブレークポイントの次の行にプログラムを実行した後