#PythonコンソールデバッグモードIPDB
5068 ワード
IPDB
この間これに触れたばかりで、
推荐直接使用:
怠け者はもちろん2つ目(コードを変更する必要はありません):
一般的なコマンド: を示す を設ける. に入る. に入る
PDBコマンドテーブル
一般的に使われるコマンドはアルファベットの略語で、完成したコマンドを使ってもいいです.
整理されたコマンドテーブル(Python 3):参考:pdb-document . パラメータなしですべてのブレークポイント情報をリストする 行番号-指定した行にブレークポイント を設定します.関数名-指定した関数にブレークポイント を設定します.ファイル名:行番号-指定したファイル名の行にブレークポイントを設定します(このファイルはまだ人を引き付けていない可能性があります) 2 2 2番目のパラメータがある場合、条件結果が が設定.
パラメータは を自動的に削除
パラメータを持たない場合は、すべてのブレークポイント(事前確認を求める) をクリアします.ファイル:行番号-指定されたファイルに対応する行番号のブレークポイント をクリーンアップします.ブレークポイント1ブレークポイント2...-指定した番号のブレークポイントをクリーンアップします.ブレークポイント番号リストは、 を表示できます.
を再開できます を有効にします. であるべきである. . からジャンプ に遭遇したことを知って実行を続行します. を示す. を示します. を印刷します. の取得を試みる. が実行される. を起動する を再起動 を終了
不完全な場合は、
この間これに触れたばかりで、
DEBUG
はIDE
のレベルにとどまっていました...こんな風に遊ぶことができたのか...IPDB
とは何ですか.IPDB
(Ipython Debugger)は、GDB
と同様に、Ipython
を統合したPython
コードコマンドラインデバッグツールであり、PDB
のアップグレード版と見なすことができるPDB
とは何ですか?Python Debugger
推荐直接使用:
IPDB
结局は强化版です:Tab补完を支持します;文法のハイライトをサポートします.サポートiPython
基本的な使い方pdb
を有効にするには、2つの方法があります.1つは、コードにpdb
モジュールをインポートすることです.1つはコマンドラインの有効化です.怠け者はもちろん2つ目(コードを変更する必要はありません):
python3 -m ipdb myscript.py
デフォルトは行単位で実行され、次の行は
またはn
で実行されます.一般的なコマンド:
h
クイックヘルプ文書l
より多くのソースコードb 10
第10行にブレークポイントc
は、次の設定のブレークポイントp
印刷変数値s
関数r
ジャンプ関数q
脱退ipdb> h
Documented commands (type help ):
========================================
EOF cl disable interact next psource rv unt
a clear display j p q s until
alias commands down jump pdef quit source up
args condition enable l pdoc r step w
b cont exit list pfile restart tbreak whatis
break continue h ll pinfo return u where
bt d help longlist pinfo2 retval unalias
c debug ignore n pp run undisplay
Miscellaneous help topics:
==========================
exec pdb
ipdb> h c
c(ont(inue))
Continue execution, only stop when a breakpoint is encountered.
PDBコマンドテーブル
一般的に使われるコマンドはアルファベットの略語で、完成したコマンドを使ってもいいです.
整理されたコマンドテーブル(Python 3):参考:pdb-document
h(elp)
-デフォルトではすべてのコマンドリストが表示されます!!!h b
ブレークポイントを設定するドキュメント!!!これができて、その他のは簡単ですw(here)
-印刷スタック情報d(own)
- Move the current frame count (default one) levels down in the stack trace (to a newer frame) u(p)
- Move the current frame count (default one) levels up in the stack trace (to an older frame) b(reak) [([filename:]lineno | function) [, condition]]
-ブレークポイントTrue
の場合、ブレークポイントtbreak [([filename:]lineno | function) [, condition]]
-一時ブレークポイントbreak
と同じです.1回目のブレークポイントヒット後にcl(ear) [filename:lineno | bpnumber [bpnumber ...]]
-ブレークポイントのクリアb
を使用してdisable [bpnumber [bpnumber ...]]
-削除ではなく、ブレークポイントを無効にします.後でenable [bpnumber [bpnumber ...]]
-無効なブレークポイントignore bpnumber [count]
-ブレークポイントはブレークポイントの回数を無視し、回数が0になるまでブレークポイントが有効になります.効果は何回かのdisable
後のenable
と同じcondition bpnumber [condition]
-指定番号へのブレークポイント設定条件* -
* - , `True` ,
commands [bpnumber]
-ブレークポイント設定コマンドリスト* , `commands` `end`
* ,
s(tep)
-現在の行に対応する関数に入るn(ext)
-次のunt(il) [lineno]
-ある行まで正常に実行されます.一時的なブレークポイントに似ていますが、何か違いがありますか?r(eturn)
-現在のメソッド関数c(ont(inue))
-ブレークポイントj(ump) lineno
-ある行に直接ジャンプして実行し、途中でスキップしたコードは実行しません!!!l(ist) [first[, last]]
-現在の行に隣接するソースコードを示す.l 10,20
は、10行目から20行目のコードll | longlist
-このファイルのすべてのコードa(rgs)
-現在の関数のパラメータのリストを印刷し、パラメータの値p expression
-現在の式の値を印刷します.例えば変数等pp expression
-フォーマット付き印刷式の値whatis expression
-印刷式のタイプsource expression
-式のソースコードdisplay [expression]
-式の値を表示します.式の値が変動すると、結果がリアルタイムで印刷され、動的追跡undisplay [expression]
-キャンセル式の表示interact
-インタラクティブな解釈器alias [name [command]]
-命令に別名をつけて、具体的にはやはりドキュメントを見ましょうunalias name
-別名を削除run | restart [args ...]
-起動デバッグ* , ,
* `restart` `run` ;
q(uit)
-デバッグモード不完全な場合は、
h pinfo
形式を直接参照してください.