遠程調試 Python 程序主要使用 logging 和 PDB 進行調試。一方面沒有權限安裝 IPDB,另一方面是沒法在本地 IDE 調試。
使用方法
PDB 是 Python 自帶的模塊,所以不需要額外安裝。如果需要更高級的調試可以試試 IPDB。在需要調試的地方插入斷點:
import pdb;pdb.set_trace()
注意斷點是阻塞型的,所以正式上線前一定要刪除斷點。所以從這個角度來看打印日志是比設置斷點方便的。
如果代碼行數少,並且啟動程序的方式簡單,也可以使用下面的命令調試,省去加斷點和刪斷點。
python -m pdb ouyangsong.py
常用命令
p
計算並打印變量的值,和 print
類似。也可以直接輸入變量名回車也會打印變量的值。
n
下一行,逐行調試的時候可以使用。
c
繼續運行直到下一個斷點,也就是 continue 的縮寫。
l
查看斷點附近的代碼,方便知道目前所處的位置。
b
后面加行號,就可以動態添加斷點了。
s
進入函數內部。
r
執行代碼直到從當前函數返回。
q
強制退出,這樣的話程序會異常退出。
commands
其實就是執行任何代碼。比如強制改值來測試不同例子。