pudb: A full-screen, console-based Python debugger

在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.py

快捷鍵

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

使用pudb调试python — 老顽童的wiki (zhbzz2007.github.io)

pudb使用指南 | Legendtkl

Machine Learning | Deep Learning | https://linktr.ee/yanwei