[issue14728] trace function not set, causing some Pdb commands to fail
Xavier de Gaye
report at bugs.python.org
Sat May 5 12:43:45 CEST 2012
New submission from Xavier de Gaye <xdegaye at gmail.com>:
The issue 13183 raises the problem that when the trace function is not
set in the caller frame, the step command fails at a return statement.
This new issue raises the point that, for the same reason:
* the next, until and return statements fail also at a return
statement when the caller frame does not have a trace function
* when the user runs the up and down commands at any line in a
frame to select a new frame, then the next, until or return
commands fail when the selected frame does not have a trace
The attached patch fixes all those problems (by first removing the
changes made in bdb.py at issue 13183).
After the patch, the implementation ensures now that self.stopframe is
either None, or belongs to the stack frame in the interval
[self.botframe, self._curframe] and that it is set to self.botframe
when the debugging session terminates. This allows removing the while
loop in stop_here with an improvement in the performance of Pdb (since
stop_here may be called at each line, even when no breakpoint is set
in the function).
The patch applies to the default branch and includes 5 new test cases.
A patch for 2.7 will be submitted later.
components: Library (Lib)
title: trace function not set, causing some Pdb commands to fail
versions: Python 2.7, Python 3.2, Python 3.3
Added file: http://bugs.python.org/file25459/pdb.patch
Python tracker <report at bugs.python.org>
More information about the Python-bugs-list