PDB调试Python程序
pdb是python內置的調試工具, 它可以在終端中調試Python程序, 這允許pdb在很多無法安裝IDE的服務器上使用.
雖然遠程調試使用廣泛, 但在必要的時候(比如難以在本地搭建運行環境)pdb仍然是一個便利的選擇.
我們可以在python源代碼中設置斷點:
import pdbdef func():for i in range(100):pdb.set_trace() # set breakpointprint(i)隨后執行源文件, pdb.set_trace()會如同一個斷點阻塞當前Python進程進入pdb終端.或者使用python -m pdb test.py指令從第一行開始調試進入.
test.py(5)<module>() -> print(i) (Pdb)pdb終端會顯示文件名, 行號,當前文件, 下一行指令等信息.并等待用戶指令:
c / continue: 繼續執行, 直至進程完成或被斷點阻塞
n / next: 執行下一條指令, 若遇函數直接得到函數返回值, 不進入
s / step: 步進執行下一條指令,若遇函數則進入執行
r / return: 跳出當前函數, 返回調用棧的上一層
b / breakpoint [<line_num>] : 在指定行(下一條指令處)設置一個斷點:b, b 5
a / args: 顯示當前函數的參數
q / exit: 中止進程執行
l / list: 顯示下一條指令所在的代碼塊
pp <obj_name>: 顯示某個對象的值
disable / enable <line_num>: 禁用/啟用某行上的斷點
condition [<line_num>] <condition>: 在指定行上設置條件斷點.如:condition 5 i==3
!<expr>: 動態執行一條語句, 可以是賦值等指令: !i=2, !1==1.
參考資料:
- pdb docs
轉載于:https://www.cnblogs.com/Finley/p/6071463.html
總結
以上是生活随笔為你收集整理的PDB调试Python程序的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 做梦梦到和朋友吵架什么意思
- 下一篇: 做梦梦到西游记什么意思