pdb 是 python 的乙個內建模組,用於命令列來除錯 python **
使用介紹
說到 debug,肯定是要新增斷點的,這裡有兩種方式新增斷點:
1.在想要斷點**後新增 一行
pdb.set_trace()
若是使用這種方式,直接執行 python 檔案即可進入斷點除錯。
2.用命令列來新增斷點
b line_number(**行數)
若是使用這種方式,需要 python -m pdb ***.py 來啟動斷點除錯。
常用命令
先簡單介紹一下使用命令,這裡不用記住,等用到的時候回來查就行。
1 進入命令列debug模式,python -m pdb ***.py
2 h:(help)幫助
3 w:(where)列印當前執行堆疊
4 d:(down)執行跳轉到在當前堆疊的深一層(個人沒覺得有什麼用處)
6 b:(break)新增斷點
b 列出當前所有斷點,和斷點執行到統計次數
b line_no:當前指令碼的line_no行新增斷點
b filename:line_no:指令碼filename的line_no行新增斷點
b function:在函式function的第一條可執行語句處新增斷點
7 tbreak:(temporary break)臨時斷點
在第一次執行到這個斷點之後,就自動刪除這個斷點,用法和b一樣
8 cl:(clear)清除斷點
cl 清除所有斷點
cl bpnumber1 bpnumber2... 清除斷點號為bpnumber1,bpnumber2...的斷點
cl lineno 清除當前指令碼lineno行的斷點
cl filename:line_no 清除指令碼filename的line_no行的斷點
9 disable:停用斷點,引數為bpnumber,和cl的區別是,斷點依然存在,只是不啟用
10 enable:啟用斷點,引數為bpnumber
如果本句是函式呼叫,則s會執行到函式的第一句
如果本句是函式呼叫,則執行函式,接著執行當前執行語句的下一條。
13 r:(return)執行當前執行函式到結束
15 l:(list)列出原始碼
l 列出當前執行語句周圍11條**
l first 列出first行周圍11條**
l first second 列出first--second範圍的**,如果second16 a:(args)列出當前執行函式的函式
17 p expression:(print)輸出expression的值
18 pp expression:好看一點的p expression
19 run:重新啟動debug,相當於restart
20 q:(quit)退出debug
21 j lineno:(jump)設定下條執行的語句函式
只能在堆疊的最底層跳轉,向後重新執行,向前可直接執行到行號
23)condition bpnumber conditon,給斷點設定條件,當引數condition返回true的時候bpnumber斷點有效,否則bpnumber斷點無效
python pdb 斷點除錯
import pdb pdb.set trace a args 列出當前執行函式的函式 p expression print 輸出expression的值 eg p list map lambda x x.lower manager ssids u 40 mgmt u 123 u 112 u 112...
初學python pdb除錯命令
pdb除錯命令 完整命令 簡寫命令 描述args a列印當前函式的引數 break b設定斷點 clear cl清除斷點 condition 無設定條件斷點 continue c或者cont 繼續執行,知道遇到斷點或者指令碼結束 disable 無禁用斷點 enable 無啟用斷點 help h檢視...
Python pdb除錯程式
使用pdb的方式有兩種 1.單步執行 通過命令 python m pdb py 啟動指令碼,進入單步執行模式 pdb命令列 1 進入命令列debug模式,python m pdb py 2 h help 幫助 3 w where 列印當前執行堆疊 4 d down 執行跳轉到在當前堆疊的深一層 個人...