Is there a way to skip a line or two altogether in pdb?
Say I have a pdb session:
> print 10 import pdb; pdb.set_trace() destroy_the_universe() # side effect useful_line()
And I want to go straight to useful_line() WITHOUT invoking pdb() once again, or destroying the universe. Is there a way to skip (i.e. not execute code) what is between
print 10 and useful_line()?
Whenever you want to leave the pdb console, type the command quit or exit . If you would like to explicitly restart a program at any place within the program, you can do so with the command run .
Once you get you pdb prompt . Just hit n (next) 10 times to exit the loop.
pdb. set_trace (*, header=None) Enter the debugger at the calling stack frame. This is useful to hard-code a breakpoint at a given point in a program, even if the code is not otherwise being debugged (e.g. when an assertion fails). If given, header is printed to the console just before debugging begins.
Use the j
/jump
command:
test.py contains:
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()
Then:
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
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With