python的pdb調(diào)試命令的命令整理及實例
一、命令整理
| 完整命令 | 簡寫命令 | 描述 | 
| args | a | 打印當前函數(shù)的參數(shù) | 
| break | b | 設置斷點 | 
| clear | cl | 清除斷點 | 
| condition | 無 | 設置條件斷點 | 
| continue | c或者cont | 繼續(xù)運行,知道遇到斷點或者腳本結束 | 
| disable | 無 | 禁用斷點 | 
| enable | 無 | 啟用斷點 | 
| help | h | 查看pdb幫助 | 
| ignore | 無 | 忽略斷點 | 
| jump | j | 跳轉(zhuǎn)到指定行數(shù)運行 | 
| list | l | 列出腳本清單 | 
| next | n | 執(zhí)行下條語句,遇到函數(shù)不進入其內(nèi)部 | 
| p | p | 打印變量值,也可以用print | 
| quit | q | 退出 pdb | 
| return | r | 一直運行到函數(shù)返回 | 
| tbreak | 無 | 設置臨時斷點,斷點只中斷一次 | 
| step | s | 執(zhí)行下一條語句,遇到函數(shù)進入其內(nèi)部 | 
| where | w | 查看所在的位置 | 
| ! | 無 | 在pdb中執(zhí)行語句 | 
二 pdb實例
E:/python/work>python -m pdb prime.py> e:/python/work/prime.py(1)<module>()->import math(Pdb) list1->import math2def isprime(i):3for t in range(2,int(math.sqrt(i))+1):4if i % t ==0:5return06else:7return189print('100到110之間的素數(shù)為:')10for i in range(100,110):11if isprime(i):(Pdb) l 12,1512print(i)131415(Pdb) b 12Breakpoint1 at e:/python/work/prime.py:12(Pdb) b 7Breakpoint2 at e:/python/work/prime.py:7(Pdb) c100到110之間的素數(shù)為:> e:/python/work/prime.py(7)isprime()->return1(Pdb) c> e:/python/work/prime.py(12)<module>()->print(i)(Pdb) n101> e:/python/work/prime.py(10)<module>()->for i in range(100,110):(Pdb) n> e:/python/work/prime.py(11)<module>()->if isprime(i):(Pdb) n> e:/python/work/prime.py(10)<module>()->for i in range(100,110):(Pdb) n> e:/python/work/prime.py(11)<module>()->if isprime(i):(Pdb)print i***SyntaxError:Missing parentheses in call to 'print'(Pdb) p i103(Pdb) where d:/python36/lib/bdb.py(431)run()->exec(cmd, globals, locals)<string>(1)<module>()> e:/python/work/prime.py(11)<module>()->if isprime(i):(Pdb)breakNumTypeDispEnbWhere1  breakpoint  keep yes  at e:/python/work/prime.py:12    breakpoint already hit 1 time2  breakpoint  keep yes  at e:/python/work/prime.py:7    breakpoint already hit 1 time(Pdb) disable 1Disabled breakpoint 1 at e:/python/work/prime.py:12(Pdb)breakNumTypeDispEnbWhere1  breakpoint  keep no  at e:/python/work/prime.py:12    breakpoint already hit 1 time2  breakpoint  keep yes  at e:/python/work/prime.py:7    breakpoint already hit 1 time(Pdb) n> e:/python/work/prime.py(7)isprime()->return1(Pdb) where d:/python36/lib/bdb.py(431)run()->exec(cmd, globals, locals)<string>(1)<module>() e:/python/work/prime.py(11)<module>()->if isprime(i):> e:/python/work/prime.py(7)isprime()->return1(Pdb) clClear all breaks? yDeleted breakpoint 1 at e:/python/work/prime.py:12Deleted breakpoint 2 at e:/python/work/prime.py:7(Pdb)break(Pdb) c103105107109The program finished and will be restarted> e:/python/work/prime.py(1)<module>()            
新聞熱點
疑難解答