从文件重新创建回溯

时间:2019-01-07 11:23:25

标签: python-3.x sentry

致命解释器崩溃后,我有一个faulthandler创建的堆栈跟踪。其内容如下所示:

File "/path/to/file.py", line <line-number> in <function-name>
File "/path/to/file.py", line <line-number> in <function-name>

我想从此文件创建一个回溯对象,类似于sys.exc_info()中的一个对象以将其上传到哨兵。有没有可以简化的模块?

我将没有作用域变量,但是应该可以从追溯中捕获code对象以及文件内容。

目前,我唯一想到的解决方案是创建一个行为类似于回溯对象的类,但这似乎需要大量工作(特别是如果我想要代码的话)。

1 个答案:

答案 0 :(得分:0)

最后,我准备了自己的类,该类的行为类似于回溯对象(使用鸭子类型)。设置有效的f_code.co_filenamef_code.co_name以及哨兵客户端唯一重要的事情是提取源代码。