Восстановить трассировку из файла - PullRequest
0 голосов
/ 07 января 2019

У меня есть трассировка стека, созданная 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 с содержимым файлов из traceback.

На данный момент единственное решение, которое я могу придумать, - это создать класс, который будет вести себя подобно объекту traceback, но это похоже на большую работу (особенно если я хочу код).

1 Ответ

0 голосов
/ 11 января 2019

В конце концов, я подготовил свой собственный класс, который ведет себя как объект трассировки (с использованием duck-typing). Единственное, что было важно для установки допустимых f_code.co_filename и f_code.co_name, и сторожевой клиент будет извлекать исходный код.

...