self.interaction(frame, None)
def bp_commands(self,frame):
- """ Call every command that was set for the current active breakpoint (if there is one)
- Returns True if the normal interaction function must be called, False otherwise """
- #self.currentbp is set in bdb.py in bdb.break_here if a breakpoint was hit
- if getattr(self,"currentbp",False) and self.currentbp in self.commands:
+ """Call every command that was set for the current active breakpoint
+ (if there is one).
+
+ Returns True if the normal interaction function must be called,
+ False otherwise."""
+ # self.currentbp is set in bdb in Bdb.break_here if a breakpoint was hit
+ if getattr(self, "currentbp", False) and \
+ self.currentbp in self.commands:
currentbp = self.currentbp
self.currentbp = 0
lastcmd_back = self.lastcmd
func = getattr(self, 'do_' + cmd)
except AttributeError:
func = self.default
- if func.__name__ in self.commands_resuming : # one of the resuming commands.
+ # one of the resuming commands
+ if func.__name__ in self.commands_resuming:
self.commands_doprompt[self.commands_bnum] = False
self.cmdqueue = []
return 1
do_h = cmd.Cmd.do_help
def do_commands(self, arg):
- """Defines a list of commands associated to a breakpoint
- Those commands will be executed whenever the breakpoint causes the program to stop execution."""
+ """Defines a list of commands associated to a breakpoint.
+
+ Those commands will be executed whenever the breakpoint causes
+ the program to stop execution."""
if not arg:
bnum = len(bdb.Breakpoint.bpbynumber)-1
else:
try:
bnum = int(arg)
except:
- print("Usage : commands [bnum]\n ...\n end", file=self.stdout)
+ print("Usage : commands [bnum]\n ...\n end",
+ file=self.stdout)
return
self.commands_bnum = bnum
self.commands[bnum] = []
do_n = do_next
def do_run(self, arg):
- """Restart program by raising an exception to be caught in the main debugger
- loop. If arguments were given, set them in sys.argv."""
+ """Restart program by raising an exception to be caught in the main
+ debugger loop. If arguments were given, set them in sys.argv."""
if arg:
import shlex
argv0 = sys.argv[0:1]
breaklist = self.get_file_breaks(filename)
try:
for lineno in range(first, last+1):
- line = linecache.getline(filename, lineno, self.curframe.f_globals)
+ line = linecache.getline(filename, lineno,
+ self.curframe.f_globals)
if not line:
print('[EOF]', file=self.stdout)
break
# Note on saving/restoring sys.argv: it's a good idea when sys.argv was
# modified by the script being debugged. It's a bad idea when it was
- # changed by the user from the command line. There is a "restart" command which
- # allows explicit specification of command line arguments.
+ # changed by the user from the command line. There is a "restart" command
+ # which allows explicit specification of command line arguments.
pdb = Pdb()
while 1:
try:
print("Running 'cont' or 'step' will restart the program")
t = sys.exc_info()[2]
pdb.interaction(None, t)
- print("Post mortem debugger finished. The "+mainpyfile+" will be restarted")
+ print("Post mortem debugger finished. The " + mainpyfile +
+ " will be restarted")
# When invoked as main program, invoke the debugger on a script