Python-pdb跳过代码(如"不执行")

时间:2015-01-02 11:24:36

标签: python debugging pdb

有没有办法在pdb中完全跳过一行或两行?

说我有一个pdb会话:

> print 10
  import pdb; pdb.set_trace()
  destroy_the_universe() # side effect
  useful_line()

我想直接进入useful_line()而不再调用pdb()或破坏宇宙。 有没有办法跳过(即不执行代码)

之间的内容

print 10和useful_line()?

1 个答案:

答案 0 :(得分:21)

使用j / jump命令:

test.py包含:

def destroy_the_universe():
    raise RuntimeError("Armageddon")

def useful_line():
    print("Kittens-r-us")

print(10)
import pdb; pdb.set_trace()
destroy_the_universe()
useful_line()

然后:

C:\Temp>c:\python34\python test.py
10
> c:\temp\test.py(9)<module>()
-> destroy_the_universe()
(Pdb) l
  4     def useful_line():
  5         print("Kittens-r-us")
  6
  7     print(10)
  8     import pdb; pdb.set_trace()
  9  -> destroy_the_universe()
 10     useful_line()
[EOF]
(Pdb) j 10
> c:\temp\test.py(10)<module>()
-> useful_line()
(Pdb) c
Kittens-r-us