意外中断的 cProfile
Accidentally Interrupted cProfile
经过长时间的函数调用(16 小时),我用 KeyboardInterrupt 提前结束了它,但不小心也打断了 cProfile,因为响应时间太长了。在 Debug Stackviewer 中,我遇到了这个问题:
- 键盘中断:
- idlelib.run.runcode (...)
- __ 主要 __.< 模块 > (...)
- cProfile.run (...)
- profile.run (...)
- profile._show (...)
- cProfile.print_stats (...)
- importlib._bootstrap._find_and_load (...)
- importlib._bootstrap._find_and_load_解锁 (...)
- importlib._bootstrap.find_spec (...)
- importlib._bootstrap._get_spec (...)
- importlib._bootstrap.find_spec (...)
- importlib._bootstrap._path_stat (...)
有没有办法恢复 cProfile 打印的内容,有没有办法更巧妙地使用 cProfile 进行过长的函数调用。
不是,进程退出时所有捕获的信息都丢失了。您可以考虑使用 profiling
程序包,它在您的程序运行时提供配置文件输出。我一直打算在我的一些互动程序中使用它。
经过长时间的函数调用(16 小时),我用 KeyboardInterrupt 提前结束了它,但不小心也打断了 cProfile,因为响应时间太长了。在 Debug Stackviewer 中,我遇到了这个问题:
- 键盘中断:
- idlelib.run.runcode (...)
- __ 主要 __.< 模块 > (...)
- cProfile.run (...)
- profile.run (...)
- profile._show (...)
- cProfile.print_stats (...)
- importlib._bootstrap._find_and_load (...)
- importlib._bootstrap._find_and_load_解锁 (...)
- importlib._bootstrap.find_spec (...)
- importlib._bootstrap._get_spec (...)
- importlib._bootstrap.find_spec (...)
- importlib._bootstrap._path_stat (...)
有没有办法恢复 cProfile 打印的内容,有没有办法更巧妙地使用 cProfile 进行过长的函数调用。
不是,进程退出时所有捕获的信息都丢失了。您可以考虑使用 profiling
程序包,它在您的程序运行时提供配置文件输出。我一直打算在我的一些互动程序中使用它。