天天看點

用PDB庫調試Python程式

用pdb調試有多種方式可選:

1. 指令行啟動目标程式,加上-m參數,這樣調用myscript.py的話斷點就是程式的執行第一行之前 

python -m pdb myscript.py

2. 在python互動環境中啟用調試 

>>> import pdb 

>>> import mymodule 

>>> pdb.run(‘mymodule.test()’)

在 python 中也可以像 gcc/gdb 那樣調試程式,隻要在運作 python 程式時引入 pdb 子產品(假設要調試的程式名為 d.py):

運作上面的指令後進入以下界面,可以輸入類似 gdb 的指令來改變程式的執行流程:

list 顯示程式的最近代碼段:

next 或者 n 執行下一行代碼:

用 break 在第6行設定一個斷點:

如果想在函數處設定斷點:

還可以給斷點加條件,比如設定條件隻有當 sum > 50 的時候才 break:

如果想檢視某個變量的值,可以用 pp 指令列印出來:

可以直接在程式裡使用 pdb 子產品,import pdb 後 pdb.set_trace():

這樣隻要運作程式 ./d.py 就可以直接運作到 print sum 處:

指令 

用途

break 或 b 

設定斷點

continue 或 c 

繼續執行程式

list 或 l 

檢視目前行的代碼段

step 或 s 

進入函數

return 或 r 

執行代碼直到從目前函數傳回

exit 或 q 

中止并退出

next 或 n 

執行下一行

pp 

列印變量的值

help 

幫助

<a href="http://magustest.com/blog/python/use-pdb-debug-python/">http://magustest.com/blog/python/use-pdb-debug-python/</a>

<a href="http://linhs.blog.51cto.com/370259/125323">http://linhs.blog.51cto.com/370259/125323</a>