true line number is good

This commit is contained in:
David Rose 2003-07-17 18:38:36 +00:00
parent e51dfb192f
commit ba57d8f755

View File

@ -715,18 +715,20 @@ def describeException(backTrace = 4):
stack = []
while trace.tb_next:
# We need to call byteOffsetToLineno to determine the true
# line number at which the exception occurred, even though we
# have both trace.tb_lineno and frame.f_lineno, which return
# the correct line number only in non-optimized mode.
frame = trace.tb_frame
module = frame.f_globals.get('__name__', None)
lineno = frame.f_lineno
truelineno = byteOffsetToLineno(frame.f_code, frame.f_lasti)
stack.append("%s:%s(%s), " % (module, lineno, truelineno))
lineno = byteOffsetToLineno(frame.f_code, frame.f_lasti)
stack.append("%s:%s, " % (module, lineno))
trace = trace.tb_next
frame = trace.tb_frame
module = frame.f_globals.get('__name__', None)
lineno = frame.f_lineno
truelineno = byteOffsetToLineno(frame.f_code, frame.f_lasti)
stack.append("%s:%s(%s), " % (module, lineno, truelineno))
lineno = byteOffsetToLineno(frame.f_code, frame.f_lasti)
stack.append("%s:%s, " % (module, lineno))
description = ""
for i in range(len(stack) - 1, max(len(stack) - backTrace, 0) - 1, -1):