python的pdb調試指令的指令整理及執行個體
一、指令整理
pdb調試指令
完整指令
簡寫指令
描述
args
a
列印目前函數的參數
break
b
設定斷點
clear
cl
清除斷點
condition
無
設定條件斷點
continue
c或者cont
繼續運作,知道遇到斷點或者腳本結束
disable
無
禁用斷點
enable
無
啟用斷點
help
h
檢視pdb幫助
ignore
無
忽略斷點
jump
j
跳轉到指定行數運作
list
l
列出腳本清單
next
n
執行下條語句,遇到函數不進入其内部
p
p
列印變量值,也可以用print
quit
q
退出 pdb
return
r
一直運作到函數傳回
tbreak
無
設定臨時斷點,斷點隻中斷一次
step
s
執行下一條語句,遇到函數進入其内部
where
w
檢視所在的位置
!
無
在pdb中執行語句
二 pdb執行個體
E:\python\work>python -m pdb prime.py
> e:\python\work\prime.py(1)()
->import math
(Pdb) list
1->import math
2def isprime(i):
3for t in range(2,int(math.sqrt(i))+1):
4if i % t ==0:
5return0
6else:
7return1
8
9print('100到110之間的素數為:')
10for i in range(100,110):
11if isprime(i):
(Pdb) l 12,15
12print(i)
13
14
15
(Pdb) b 12
Breakpoint1 at e:\python\work\prime.py:12
(Pdb) b 7
Breakpoint2 at e:\python\work\prime.py:7
(Pdb) c
100到110之間的素數為:
> e:\python\work\prime.py(7)isprime()
->return1
(Pdb) c
> e:\python\work\prime.py(12)()
->print(i)
(Pdb) n
101
> e:\python\work\prime.py(10)()
->for i in range(100,110):
(Pdb) n
> e:\python\work\prime.py(11)()
->if isprime(i):
(Pdb) n
> e:\python\work\prime.py(10)()
->for i in range(100,110):
(Pdb) n
> e:\python\work\prime.py(11)()
->if isprime(i):
(Pdb)print i
***SyntaxError:Missing parentheses in call to 'print'
(Pdb) p i
103
(Pdb) where
d:\python36\lib\bdb.py(431)run()
->exec(cmd,globals,locals)
(1)()
> e:\python\work\prime.py(11)()
->if isprime(i):
(Pdb)break
NumTypeDispEnbWhere
1 breakpoint keep yes at e:\python\work\prime.py:12
breakpoint already hit 1 time
2 breakpoint keep yes at e:\python\work\prime.py:7
breakpoint already hit 1 time
(Pdb) disable 1
Disabled breakpoint 1 at e:\python\work\prime.py:12
(Pdb)break
NumTypeDispEnbWhere
1 breakpoint keep no at e:\python\work\prime.py:12
breakpoint already hit 1 time
2 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,locals)
(1)()
e:\python\work\prime.py(11)()
->if isprime(i):
> e:\python\work\prime.py(7)isprime()
->return1
(Pdb) cl
Clear all breaks? y
Deleted breakpoint 1 at e:\python\work\prime.py:12
Deleted breakpoint 2 at e:\python\work\prime.py:7
(Pdb)break
(Pdb) c
103
105
107
109
The program finished and will be restarted
> e:\python\work\prime.py(1)()
感謝閱讀,希望能幫助到大家,謝謝大家對本站的支援!