异常中的堆栈跟踪中的locals()和globals()(Python)

异常中的堆栈跟踪中的locals()和globals()(Python),第1张

异常中的堆栈跟踪中的locals()和globals()(Python)

您可以安装自己的异常挂钩,并从那里输出所需的内容:

import sys, tracebackdef excepthook(type, value, tb):    traceback.print_exception(type, value, tb)    while tb.tb_next:        tb = tb.tb_next    print >>sys.stderr, 'Locals:',  tb.tb_frame.f_locals    print >>sys.stderr, 'Globals:', tb.tb_frame.f_globalssys.excepthook = excepthookdef x():    y()def y():    foo = 1    bar = 0    foo/barx()

要在回溯中从 每个 帧打印var ,请将上述循环更改为

    while tb:        print >>sys.stderr, 'Locals:',  tb.tb_frame.f_locals        print >>sys.stderr, 'Globals:', tb.tb_frame.f_globals        tb = tb.tb_next


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5620264.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-15
下一篇 2022-12-15

发表评论

登录后才能评论

评论列表(0条)

保存