Python代碼如何調試?pdb使用指南

python 自帶調試工具 pdb 可通過插入 import pdb; pdb.set_trace() 或命令行 python -m pdb your_script.py 啟動。常用命令包括:1. n 執行下一行;2. s 單步進入函數;3. c 繼續執行;4. l 顯示當前代碼;5. p 變量名 打印變量;6. q 退出調試。可通過 b 行號 設置斷點,w 查看,u/d 切換堆棧幀,實現高效問題定位。

Python代碼如何調試?pdb使用指南

調試 Python 代碼時,很多人第一反應是加一堆 print 輸出變量值。其實 Python 自帶了一個非常實用的調試工具:pdb(Python Debugger)。它能讓你一行一行地執行代碼、查看變量狀態、設置斷點,非常適合排查邏輯錯誤和復雜問題。

Python代碼如何調試?pdb使用指南


怎么啟動 pdb?

最簡單的辦法就是在你想開始調試的地方加上這句:

Python代碼如何調試?pdb使用指南

import pdb; pdb.set_trace()

程序運行到這里就會暫停,進入交互式調試模式。你就可以輸入命令查看當前上下文了。

立即學習Python免費學習筆記(深入)”;

如果你不想改動代碼,也可以通過命令行直接啟動:

Python代碼如何調試?pdb使用指南

python -m pdb your_script.py

這樣會從腳本的第一行開始調試。


常用命令有哪些?

進入調試模式后,你會看到 (Pdb) 提示符,這時候可以輸入各種命令:

  • n(ext):執行下一行代碼,遇到函數調用不會進去。
  • s(tep):單步執行,如果當前是函數調用,會進入函數內部。
  • c(ontinue):繼續執行直到下一個斷點或程序結束。
  • l(ist):顯示當前執行位置附近的代碼。
  • p :打印某個變量的值,比如 p x。
  • q(uit):退出調試器并終止程序。

這些命令組合起來,就能快速定位問題所在。


怎么設置多個斷點?

除了手動插入 pdb.set_trace(),你還可以在調試過程中動態添加斷點。進入調試器后,使用:

b <行號>

比如 b 10 就是在第10行設一個斷點。你也可以指定文件名,比如:

b module.py:20

查看所有斷點用 b 不帶參數,刪除斷點可以用 cl 。


調試的時候怎么看堆棧?

有時候你會發現程序停在某個地方,但不知道是怎么走到這里的。這時候可以用:

  • w(here):查看當前調用堆棧。
  • u(p) 和 d(own):上下切換堆棧幀,查看不同層級的變量狀態。

這對分析遞歸、回調或者多層嵌套函數特別有用。


基本上就這些。pdb 的功能其實還有很多,比如條件斷點、跳過異常等,但在日常開發中,上面這幾招已經夠用了。關鍵在于熟悉流程、靈活使用,調試效率自然就上來了。

? 版權聲明
THE END
喜歡就支持一下吧
點贊9 分享