python pdb斷點除錯

2021-10-08 03:46:10 字數 1628 閱讀 9159

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 執行跳轉到在當前堆疊的深一層 個人...