PDB - Pythonのデバッガ

  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)

サスペンションにコードブレークポイントの次の行にプログラムを実行した後

 

おすすめ

転載: www.cnblogs.com/chester-cs/p/11580331.html