打斷點是調試程序的常用方法之一。在 Python 中,我們可以使用 pdb 模塊來設置斷點。
import pdb def sum(a, b): pdb.set_trace() # 設置斷點 return a + b print(sum(2, 3))
上面的代碼中,我們在 sum 函數的第一行設置了一個斷點。運行程序后,當程序執行到此處時,會停在該行,等待我們執行調試命令。
調試命令:
- h(elp):輸出命令列表。
- n(ext):執行下一行代碼。
- s(tep):進入函數。
- c(ontinue):繼續執行程序。
- b(reak):設置斷點。
- p(rint):打印變量的值。
可以在命令前加上問號獲取該命令的幫助。例如,輸入 ?n 可以獲取 help(next) 的幫助。
>/path/to/file.py(5)sum()->return a + b (Pdb) n >/path/to/file.py(7)<module>()->print(sum(2, 3)) (Pdb) p a 2 (Pdb) p b 3
運行調試命令后,可以查看變量的值,執行下一行代碼等。
在調試完成后,可以使用命令 q(uit) 退出 pdb。
>/path/to/file.py(7)<module>()->print(sum(2, 3)) (Pdb) q
使用 pdb 模塊可以方便地對 Python 程序進行調試。但在實際開發中,我們還需要對代碼進行規范化、調試信息的記錄等,來提高程序的可維護性。