python有自帶的pdb庫,可以實現簡單的調試功能,基本命令與gdb類似,不過功能不會有gdb那麼強大,pdb主要支持多斷點設置(可條件設置),代碼級單步調試,查看堆棧信息,代碼查看,post-mortem調試,
詳細信息可以查看:http://docs.python.org/2/library/pdb.html
用pdb調試有多種方式可選:
1. 命令行啟動目標程序,加上-m參數,這樣調用myscript.py的話斷點就是程序的執行第一行之前
python -m pdb myscript.py
2. 在Python交互環境中啟用調試
>>> import pdb
>>> import mymodule
>>> pdb.run(‘mymodule.test()’)
3. 比較常用的,就是在程序中間插入一段程序,相對於在一般IDE裡面打上斷點然後啟動debug,
正常運行腳本後,到了pdb.set_trace()那就會定下來,就可以看到調試的提示符(Pdb)了
一些常用指令:
h(elp)[comman] #打印可用指令及幫助信息
r(eturn) #運行代碼直到下一個斷點或當前函數返回
b(reak)[[filename:]lineno | function[, condition]] #指定文件某行或函數體來設置斷點
l(ist)[first[, last]] #查看指定代碼段
n(ext) #執行下一行
s(tep)#執行下一行,若為函數則進入函數體
p #打印某個變量
a(rgs) #打印當前函數的參數
w(here) #打印堆棧信息
d(own) #移至下層堆棧
u(p) #移至上層堆棧
j(ump) #跳轉到指定行
continue / c #繼續執行
disable [bpnumber [bpnumber]]#失效斷點
enable[bpnumber [bpnumber]] #啟用斷點
cl(ear)[filename:lineno | bpnumber [bpnumber]] #刪除斷點
q(uit)/exit #中止調試並退出