2015-01-02 18 views
7

Có cách nào để bỏ qua một hoặc hai dòng hoàn toàn bằng pdb không?Mã bỏ qua Python-pdb (như trong "không thi hành")

Nói rằng tôi có một phiên pdb:

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

Và tôi muốn đi thẳng đến useful_line() KHÔNG gọi pdb() một lần nữa, hoặc phá hủy vũ trụ. Có cách nào để bỏ qua (tức là không thực thi mã) giữa các số

in 10 và useful_line()?

Trả lời

12

Sử dụng j/jump lệnh:

test.py chứa:

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

Sau đó:

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 
Các vấn đề liên quan