1. 代碼以下:html
# coding=gbk import pdb def pdb_test(arg): for i in range(arg): print (i) return arg pdb.run("pdb_test(3)")
2. 調試過程函數
> <string>(1)<module>() (Pdb) b pdb_test Breakpoint 1 at c:\users\administrator\workspace\practice\src\practice_test\dailytest.py:4 (Pdb) b Num Type Disp Enb Where 1 breakpoint keep yes at c:\users\administrator\workspace\practice\src\practice_test\dailytest.py:4 (Pdb) c > c:\users\administrator\workspace\practice\src\practice_test\dailytest.py(5)pdb_test() -> for i in range(arg): (Pdb) l 1 # coding=gbk 2 import pdb 3 4 B def pdb_test(arg): 5 -> for i in range(arg): 6 print (i) 7 return arg 8 9 pdb.run("pdb_test(3)") 10 11 (Pdb) n > c:\users\administrator\workspace\practice\src\practice_test\dailytest.py(6)pdb_test() -> print (i) (Pdb) p i 0 (Pdb) n 0 > c:\users\administrator\workspace\practice\src\practice_test\dailytest.py(5)pdb_test() -> for i in range(arg): (Pdb) n > c:\users\administrator\workspace\practice\src\practice_test\dailytest.py(6)pdb_test() -> print (i) (Pdb) p i 1 (Pdb) n 1 > c:\users\administrator\workspace\practice\src\practice_test\dailytest.py(5)pdb_test() -> for i in range(arg): (Pdb) n > c:\users\administrator\workspace\practice\src\practice_test\dailytest.py(6)pdb_test() -> print (i) (Pdb) p i 2 (Pdb) n 2 > c:\users\administrator\workspace\practice\src\practice_test\dailytest.py(5)pdb_test() -> for i in range(arg): (Pdb) n > c:\users\administrator\workspace\practice\src\practice_test\dailytest.py(7)pdb_test() -> return arg (Pdb) p arg 3 (Pdb) a arg = 3 (Pdb) n --Return-- > c:\users\administrator\workspace\practice\src\practice_test\dailytest.py(7)pdb_test()->3 -> return arg (Pdb) exit
3. 調試命令詳解spa
b設置斷點:.net
(Pdb) b pdb_test
Breakpoint 1 at c:\users\administrator\workspace\practice\src\practice_test\dailytest.py:4
b查看斷點:調試
(Pdb) b
Num Type Disp Enb Where
1 breakpoint keep yes at c:\users\administrator\workspace\practice\src\practice_test\dailytest.py:4
c運行程序,直到遇到斷點:code
(Pdb) c > c:\users\administrator\workspace\practice\src\practice_test\dailytest.py(5)pdb_test() -> for i in range(arg):
l查看斷點周圍的代碼:htm
(Pdb) l 1 # coding=gbk 2 import pdb 3 4 B def pdb_test(arg): 5 -> for i in range(arg): 6 print (i) 7 return arg 8 9 pdb.run("pdb_test(3)") 10 11
s, n單步運行,區別是s會進入路徑中的函數,n不會進入:blog
(Pdb) n
> c:\users\administrator\workspace\practice\src\practice_test\dailytest.py(6)pdb_test()
p查看錶達式的值:get
-> print (i) (Pdb) p i 0 (Pdb) n 0 > c:\users\administrator\workspace\practice\src\practice_test\dailytest.py(5)pdb_test() -> for i in range(arg): (Pdb) n > c:\users\administrator\workspace\practice\src\practice_test\dailytest.py(6)pdb_test() -> print (i) (Pdb) p i 1 (Pdb) n 1 > c:\users\administrator\workspace\practice\src\practice_test\dailytest.py(5)pdb_test() -> for i in range(arg): (Pdb) n > c:\users\administrator\workspace\practice\src\practice_test\dailytest.py(6)pdb_test() -> print (i) (Pdb) p i 2 (Pdb) n 2 > c:\users\administrator\workspace\practice\src\practice_test\dailytest.py(5)pdb_test() -> for i in range(arg): (Pdb) n > c:\users\administrator\workspace\practice\src\practice_test\dailytest.py(7)pdb_test() -> return arg (Pdb) p arg 3
a查看參數:string
(Pdb) a
arg = 3
終止並退出:
(Pdb) exit
參考:
http://www.cnblogs.com/chencheng/archive/2013/07/07/3161778.html