Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
traceback.format_exc()
可以通过引发异常来获得它。
traceback.print_stack()
打印堆栈而不需要异常,但它不返回字符串。
似乎没有办法在不引发 python 异常的情况下获取堆栈跟踪字符串?
如果traceback.extract_stack()您想要方便地访问模块和函数名称以及行号,或者''.join(traceback.format_stack())您只想要一个看起来像traceback.print_stack()输出的字符串。
traceback.extract_stack()
''.join(traceback.format_stack())
traceback.format_stack 怎么样?
使用检查模块。特别是检查。currentframe()——但整个模块的存在是为了在给定时间查看程序的状态。
这里有一些有用的检查技巧。
还可以尝试“py-spy”模块,它可以连接到 python 进程并获取瞬时堆栈转储。