python除錯模組pdb

2021-10-02 00:12:52 字數 885 閱讀 4107

模組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...