出于调试目的,我想迭代所有的greenlets并获得它们的跟踪痕迹 - 我怎么能用gevent做到这一点?
基本上,我想做gevent相当于此.
Ste*_*ehl 19
您可以使用该gc模块遍历堆上的所有对象并搜索greenlet.Greenlets将堆栈跟踪存储为属性gr_frame.
import gc
import traceback
from greenlet import greenlet
for ob in gc.get_objects():
if not isinstance(ob, greenlet):
continue
if not ob:
continue
log.error(''.join(traceback.format_stack(ob.gr_frame)))
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3229 次 |
| 最近记录: |