charify pdb visible stack end finding by turning it into a function

This commit is contained in:
Ronny Pfannschmidt 2013-04-16 10:19:20 +02:00
parent 73446e98be
commit 55c349a9eb
1 changed files with 8 additions and 3 deletions

View File

@ -86,15 +86,20 @@ def _postmortem_traceback(excinfo):
return excinfo._excinfo[2]
def _find_last_non_hidden_frame(stack):
i = max(0, len(stack) - 1)
while i and stack[i][0].f_locals.get("__tracebackhide__", False):
i -= 1
return i
def post_mortem(t):
pdb = py.std.pdb
class Pdb(pdb.Pdb):
def get_stack(self, f, t):
stack, i = pdb.Pdb.get_stack(self, f, t)
if f is None:
i = max(0, len(stack) - 1)
while i and stack[i][0].f_locals.get("__tracebackhide__", False):
i-=1
i = _find_last_non_hidden_frame(stack)
return stack, i
p = Pdb()
p.reset()