linux下使用pdb簡單除錯python程式
python自帶除錯工具庫:pdb
# -*- coding:utf-8 -*-
def func(num):
s = num * 10
return s
if __name__ == '__main__':
print 'debug starting...'
print '*' * 10
print 'debug ending…'
num = 100
s = func(num)
print s
在python檔案中不引用pdb庫,可以在執行python檔案的時候,加上引數:
python -m pdb demo.py
來到pdb除錯互動介面,debug模式將會停止在的第一行程式**行
可以執行如下命令,進行相應的操作:
b(or break):設定斷點;設定函式:b demo.func;設定行數:b demo:14(行數)
n(or next):執行下一行:
step over,跳過
c(or continue):執行下乙個斷點,沒有斷點則到程式結束:step filter
s(or step):進入函式,
step into,單步跳入
r(or return):跳出函式,step return
l(or list):檢視當前**段
q(or quit):退出當前debug
p(or print):列印變數值
h(or help):檢視幫助
cl(clear):清除所有節點
disable [bpnumber[bpnumber]]:將第num個斷點失效,enable,失效第10個斷點
enable [bpnumber[bpnumber]]:啟用第num個斷點,enable 10,啟用第10個斷點
w(where):列印堆疊資訊
a(args):列印當前函式引數資訊
當然我們也可以使用pdb庫的函式,來實現對py的debug:
比如:我們可以使用pdb函式:set_trace()
def func(num):
s = num * 10
return s
if __name__ == '__main__':
print 'debug starting...'
print '*' * 10
pdb.set_trace()
print 'debug ending…'
num = 100
s = func(num)
print s
執行程式:python pdb_demo.py
此時意味著給程式設定斷點行,將會自動執行至print 『py ending...』停住,讓開發者繼續觸發接下來的操作,該操作在乙個py引用其他py的時候,設定斷點恰到好處。
Linux通過使用pdb簡單除錯python計畫
python自帶的除錯工具庫 pdb coding utf 8 def func num s num 10 return s if name main print debug starting.print 10 print debug ending num 100 s func num print ...
使用PDB簡單除錯Python程式簡明指南
在 python 中也可以像 gcc gdb 那樣除錯程式,只要在執行 python 程式時引入 pdb 模組 假設要除錯的程式名為 d.py 複製 如下 vi d.py usr bin python def main i,sum 1,0 for i in xrange 100 sum sum i ...
linux下用pdb除錯python
linux下除錯python,對於輕量級的工程,直接print是最簡單的方法,但是當變數變多,工程變大的時候,print就會力不從心,linux下也沒有介面ide,所以就用pdb來除錯即是最佳選擇,也很簡單。也可以用更友好的ipdb,不過ipdb不是python的標準庫,是需要安裝的,用起來是完全一...