the debugger enter inside pdb.set_trace.
Patch #
1061767: make pdb.set_trace enter enter at the stack frame
calling pdb.set_trace().
self.returnframe = frame
self.quitting = 0
- def set_trace(self):
- """Start debugging from here."""
- frame = sys._getframe().f_back
+ def set_trace(self, frame=None):
+ """Start debugging from `frame`.
+
+ If frame is not specified, debugging starts from caller's frame.
+ """
+ if frame is None:
+ frame = sys._getframe().f_back
self.reset()
while frame:
frame.f_trace = self.trace_dispatch
return Pdb().runcall(*args, **kwds)
def set_trace():
- Pdb().set_trace()
+ Pdb().set_trace(sys._getframe().f_back)
# Post-Mortem interface