首页 > 解决方案 > 如何调试 Tornado 协程 (asyncio)

问题描述

我正在尝试调试 Tornado 协程,该协程在后台使用 asyncio 实现。

作为我正在使用的调试器ipdb,所以在我的代码中我插入了import ipdb; ipdb.setTrace()

代码是:

@coroutine
def get(self, user_id, _user):
    user = yield self.create_user(user_id)
    import ipdb; ipdb.set_trace();
    ...

问题是调试器,而不是进入调试模式返回

 File "/usr/lib/python3.6/asyncio/base_events.py", line 425, in run_forever
    raise RuntimeError('This event loop is already running')

知道如何解决吗?您是否使用另一种方法来调试异步进程?

代码执行为python main.py

标签: pythonpython-asynciopdbipdb

解决方案


推荐阅读