一、命令整理
完整命令 | 简写命令 | 描述 |
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实例
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
|
E:\python\work>python - m pdb prime.py > e:\python\work\prime.py( 1 )<module>() - > 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 )<module>() - > print (i) (Pdb) n 101 > 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 i 103 (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) 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, globals , locals ) <string>( 1 )<module>() e:\python\work\prime.py( 11 )<module>() - > 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 )<module>() |
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
原文链接:http://cakin24.iteye.com/blog/2383524