bitbake/utils.py: Improve better_exec debug output

Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
This commit is contained in:
Richard Purdie 2010-08-20 12:52:33 +01:00
parent 616e75523b
commit ac3452c431
1 changed files with 9 additions and 5 deletions

View File

@ -292,7 +292,6 @@ def _print_trace(body, line):
Print the Environment of a Text Body
"""
# print the environment of the method
bb.msg.error(bb.msg.domain.Util, "Printing the environment of the function")
min_line = max(1, line-4)
max_line = min(line + 4, len(body)-1)
for i in range(min_line, max_line + 1):
@ -340,13 +339,18 @@ def better_exec(code, context, text, realfile):
bb.msg.error(bb.msg.domain.Util, "Error in executing python function in: %s" % realfile)
bb.msg.error(bb.msg.domain.Util, "Exception:%s Message:%s" % (t, value))
# let us find the line number now
while tb.tb_next:
tb = tb.tb_next
# Strip 'us' from the stack (better_exec call)
tb = tb.tb_next
import traceback
line = traceback.tb_lineno(tb)
tbextract = traceback.extract_tb(tb)
tbextract = "\n".join(traceback.format_list(tbextract))
bb.msg.error(bb.msg.domain.Util, "Traceback:")
for line in tbextract.split('\n'):
bb.msg.error(bb.msg.domain.Util, line)
line = traceback.tb_lineno(tb)
bb.msg.error(bb.msg.domain.Util, "The lines leading to this error were:")
_print_trace( text.split('\n'), line )
raise