Случайно прерванный cProfile

После долгого вызова функции (16 часов) я закончил его досрочно с помощью KeyboardInterrupt, но случайно также прервал cProfile, потому что он так долго не отвечал. В Debug Stackviewer я столкнулся с этим:

  • KeyboardInterrupt:
    • idlelib.run.runcode (...)
    • __ основной __.‹ модуль > (...)
    • cProfile.run (...)
    • профиль.run(...)
    • профиль._показать (...)
    • cProfile.print_stats (...)
    • importlib._bootstrap._find_and_load (...)
    • importlib._bootstrap._find_and_load_unlocked (...)
    • importlib._bootstrap.find_spec (...)
    • importlib._bootstrap._get_spec (...)
    • importlib._bootstrap.find_spec (...)
    • importlib._bootstrap._path_stat (...)

Есть ли способ восстановить то, что напечатал cProfile, и есть ли способ более разумно использовать cProfile для чрезмерно длинных вызовов функций.


person Zach Hunter    schedule 16.07.2019    source источник


Ответы (1)


Нет, вся захваченная информация была потеряна при выходе из процесса. Вы можете рассмотреть возможность использования пакета profiling, который обеспечивает вывод профиля во время работы вашей программы. Я намеревался использовать его с некоторыми из моих интерактивных программ.

person Dan D.    schedule 16.07.2019