Disable the breakpoint. from pdb, just type disable N, where N is the breakpoint number you are stuck on.
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 .
PDB cannot turn back time.
continue
should "Continue execution, only stop when a breakpoint is encountered", so you've got a breakpoint set somewhere. To remove the breakpoint (if you inserted it manually):
(Pdb) break
Num Type Disp Enb Where
1 breakpoint keep yes at /path/to/test.py:5
(Pdb) clear 1
Deleted breakpoint 1
(Pdb) continue
Or, if you're using pdb.set_trace()
, you can try this (although if you're using pdb in more fancy ways, this may break things...)
(Pdb) pdb.set_trace = lambda: None # This replaces the set_trace() function!
(Pdb) continue
# No more breaks!
A simple Ctrl-D will break out of pdb. If you want to continue rather than breaking, just press c rather than the whole continue
command
The answer from @voithos is correct, so I'll just add one alternative in the case where you are using set_trace
. Yes, the pdb.set_trace = lambda: None
hack works OK, but not if you have other breakpoints set and want to reenable it later on. To me this points to the fact that unfortunately pdb
is missing a bunch of functionality (even basic stuff like display lists), and this is another case.
The good news is that pdb++
is a great drop-in replacement for pdb
, and one of the things it solves is exactly the problem of disabling set_trace
. So you can simply do:
pip install pdbpp
and then at the (Pdb++)
prompt, type:
pdb.disable()
If you want to reenable later, unsurprisingly this works:
pdb.enable()
Easy! And you will get lots of other useful goodies on top of that.
If you really wish to exit the debugger then you need to run something like WinPdb which allows you to detach from the process and then exit the debugger, (N.B. It is multi-platform).
If you would like to continue debugging but no longer stop at a given breakpoint then you need to:
cl bp_number
or clear file:line
to permanently remove the breakpoint or disable pb_number
to toggle it off but be able to toggle it back.continue
and your program run until then next different breakpoint is hit.For more detail on the above see the manual.
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