从文件重新创建回溯
Recreate traceback from file
我有一个由 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
对象。
目前我能想到的唯一解决方案是创建一个 class 其行为类似于回溯对象,但这似乎需要很多工作(尤其是如果我想要代码)。
最后,我准备了我自己的 class,它充当回溯对象(使用 duck-typing)。唯一重要的是设置有效 f_code.co_filename
和 f_code.co_name
并且哨兵客户端将提取源代码。
我有一个由 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
对象。
目前我能想到的唯一解决方案是创建一个 class 其行为类似于回溯对象,但这似乎需要很多工作(尤其是如果我想要代码)。
最后,我准备了我自己的 class,它充当回溯对象(使用 duck-typing)。唯一重要的是设置有效 f_code.co_filename
和 f_code.co_name
并且哨兵客户端将提取源代码。