Если я что-то вродеУчитывая выход cProfile в произвольной программе python, можно восстановить исходный исходный код?
python -m cProfile -o profile.prof myprogram.py
Можно восстановить исходный код имеет доступ к profile.prof
?
Если я что-то вродеУчитывая выход cProfile в произвольной программе python, можно восстановить исходный исходный код?
python -m cProfile -o profile.prof myprogram.py
Можно восстановить исходный код имеет доступ к profile.prof
?
Все файлы .prof
содержат marshal
serialisation той же статистики, которую вы видите, когда вы не используете -o
(и, следовательно, распечатывайте статистику).
Это в основном словарь, на основе функции «метка», с характеристиками функций, агрегированными. Функциональная метка определяется как:
def label(code):
if isinstance(code, str):
return ('~', 0, code) # built-in functions ('~' sorts at the end)
else:
return (code.co_filename, code.co_firstlineno, code.co_name)
Таким образом записываются только имя файла, номер строки и имя функции, ничего больше. Вы не можете восстановить полную программу из этого.
Нет, все, что вы получаете, это точки вызова функции. –
Вот что я понял, спасибо. –