模組pdb為python程式定義了乙個互動式源**偵錯程式。它支援在源**行級別設定(有條件的)斷點和單步執行,檢查堆疊幀,列出源**,以及在任何堆疊幀上下文中計算任意python**。它還支援事後除錯,可以在程式控制下呼叫。
只需要引入內建的pdb模組,並執行set_trace函式就可以觸發偵錯程式。通常將這兩個操作寫在一行中便於將其注釋。
形如:import pdb;pdb.set_trace()
參考部落格:
檢視命令,這個大大,列了個**一目了然了。
其中幾個我常用到的
n: next. 執行下一行。
c: continue. 繼續執行程式,直到下乙個斷點或呼叫點。
s:step in. 進入函式
r: return. 執行**直到從當前函式退出
p: print. p + 變數名,可以輸出當前變數的值。(當然也可以直接輸入變數名,然後回車)
l: list. 列出當前執行語句周圍11條**。 l first second 列出first--second範圍的**,如果secondb:
break: 列出當前所有斷點,和斷點執行到統計次數。
b line_no:當前指令碼的line_no行新增斷點
b filename:line_no:指令碼filename的line_no行新增斷點
b function:在函式function的第一條可執行語句處新增斷點
cl:clear
cl 清除所有斷點
cl bpnumber1 bpnumber2... 清除斷點號為bpnumber1,bpnumber2...的斷點
cl lineno 清除當前指令碼lineno行的斷點
cl filename:line_no 清除指令碼filename的line_no行的斷點
pdb除錯python指令碼
使用pdb模組的run函式來除錯語句塊,其引數原型 run statement globals locals 其中 statement 要除錯的語句塊,以字串的形式 globals 可選引數,設定statement執行的全域性環境變數 import pdb pdb.run for i in rang...
Python除錯利器PDB
使用pdb的方式有兩種,其中一種是在指令碼中新增 不覺得這種方式比print好在 所以這種方式此文不表。這裡我們只學習pdb的命令列使用方式。1 進入命令列debug模式,python m pdb myscript.py 2 h help 幫助 3 w where 列印當前執行堆疊 4 d down...
使用pdb除錯python
python pdb除錯 python m pdb myscript.py 注意這會重啟myscript.py,這樣啟動的話,每一行都是乙個節點 也可以在程式中這麼設定斷點 import pdb pdb.set trace 支援的命令 p 列印變數 n next step 細點執行 c contin...