using breakpoints in a normal interactive session

R. Bernstein rocky at panix.com
Thu Feb 23 07:21:32 EST 2006


In revising pydb the code and documentation for the routine originally
described, I learn that the pdb equivalent (sort of) is called
set_trace().

However set_trace() will terminate the program when you quit the
debugger, so I've retained this routine and made a couple of
corrections -- in particular to support a restart and make "show args"
work. The changes are in pydb's CVS. Lacking a better name, the
routine is called "debugger".  

There is one other difference between set_trace() and debugger().  In
set_trace you stop at the statement following set_trace(), With
debugger() the call trace shows you in debugger and you may need to
switch to the next most-recent call frame to get info about the
program being debugged.

A downside of the debugger() approach is that debug session
information can't be saved between calls: each call is a new instance
of the debugger and when it is left via "quit" the instance is
destroyed. (In the case of pydb.set_trace() the issue never comes up
because the program is terminated on exit.)

rocky at panix.com (R. Bernstein) writes:

> Here's what I was able to do using the Extended Python debugger.
> http://bashdb.sourceforge.net/pydb/. ....



More information about the Python-list mailing list