天天看點

python pdb指令_python的pdb調試指令的指令整理及執行個體

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)()

感謝閱讀,希望能幫助到大家,謝謝大家對本站的支援!