一 运行语句实例
>>>import pdb
>>> pdb.run('''''')
><string>(1)<module>()
(Pdb) q
>>> pdb.run('''
for i in range(0,3):
i = i ** 2
print(i)
''')
><string>(2)<module>()
(Pdb) n
><string>(3)<module>()
(Pdb)print(i)
0
(Pdb) n
><string>(4)<module>()
(Pdb) p i
0
(Pdb) n
0
><string>(2)<module>()
(Pdb) p i
0
(Pdb) n
><string>(3)<module>()
(Pdb) p i
1
(Pdb)continue
1
4
二 运行表达式实例
>>>import pdb
>>> l =[1,2,3]
>>> pdb.runeval('l[1]')
><string>(1)<module>()
(Pdb) n
--Return--
><string>(1)<module>()->2
(Pdb) pdb.runeval('l[2]')
3
(Pdb) pdb.runeval('3+5*6/2')
18.0
三 运行函数
>>>import pdb
>>>def sum(*args):
r =0
for arg in args:
r = r + arg
return r
>>> pdb.runcall(sum,1,2,3,4)
><pyshell#20>(2)sum()
(Pdb) n
><pyshell#20>(3)sum()
(Pdb) n
><pyshell#20>(4)sum()
(Pdb)print(r)
0
(Pdb) n
><pyshell#20>(3)sum()
(Pdb) p r
1
(Pdb) c
10
四 设置硬断点
debug.py
import pdb
pdb.set_trace()
for i in range(0,5):
i = i*5
print(i)
运行结果:
> e:\python\work\pydebug.py(3)<module>()
->for i in range(0,5):
(Pdb) list
1import pdb
2 pdb.set_trace()
3->for i in range(0,5):
4 i = i*5
5print(i)
[EOF]
(Pdb)continue
0
5
10
15
20