pudb: A full-screen, console-based Python debugger
Aug 15, 2021
在2021年3月份的時候,曾寫過使用Python內建的pdb和breakpoint()進行程式debug ,介紹了使用pdb進行除錯的方法。
今天早上看到pudb這個工具,有著更完整的debug功能,可直接在Terminal中開啟使用,且能直接顯示出所有程式碼一行一行中的變數,也能直接新增breakpoint(鍵盤b鍵)
安裝
pip install pudb
import
只要在程式碼的第一行import以下內容,下次使用python fileName.py的時候就能開啟Debug模式
import pudb; pu.db
GUI畫面中的Variables、Stack、Breakpoints差異
Variables會顯示程式碼中的變數實際數值
Stack會分成兩部分,預設都會有module,module為實際程式碼運作到第幾行;而當程式進入function之後會顯示function的名稱。使用鍵盤的上下左右鍵可將畫面中的highlight進行切換
Breakpoints則是斷點的部份,可使用b進行設定
範例
# 1.將以下程式碼保存成test.pyimport pudb; pu.dbdef sum(n):
result = 0
for i in range(n):
result = result + i
return resultif __name__ == "__main__":
y1 = sum(10)
y2 = sum(100)
y3 = sum(100)# 2.執行python test.py指令# 3.此時會進入到GUI的Debug介面# 4.使用n進入程式碼的下一行、當進入到y1 = sum(10)這一行時,可使用s進入函數當中。使用n可在函數當中進入下一行,此時右側Variables的框框中會出現result, i, n的數值。
快捷鍵
Ctrl+p: 打開屬性設置
n: next,也就是執行一步 (一定要用)
s: step into,進入函數內部 (常用,可直接進到function當中,搭配n觀看變數變化)
f: finsh current function,結束當前函數?
c: continue,繼續執行
b: break point,在游標所在行添加或消除斷點 (常用)
t: to cursor,運行到游標位置
!: 開啟python命令行 (在當下行輸入python程式)
?: 開啟幫助視窗 (常用,查詢快捷鍵)
o: output screen,打開輸出視窗/控制台 (觀看程式的output)
m: module,打開模組
q: quit,退出PUDB (離開pudb)
/: 搜尋
,/. 搜索下一個/上一個
參考資料
PUDB調試python程式_shuzfan的專欄-CSDN博客_pudb python