Python 如何调试Tornado协同程序(asyncio)
我试图调试一个Tornado协同程序,它在后台使用异步IO实现 作为调试器,我使用的是Python 如何调试Tornado协同程序(asyncio),python,python-asyncio,pdb,ipdb,Python,Python Asyncio,Pdb,Ipdb,我试图调试一个Tornado协同程序,它在后台使用异步IO实现 作为调试器,我使用的是ipdb,因此在我的代码中插入了import-ipdb;ipdb.setTrace() 代码是: @coroutine def get(self, user_id, _user): user = yield self.create_user(user_id) import ipdb; ipdb.set_trace(); ... 问题是调试器在调试模式下返回的不是enter,而是ente
ipdb
,因此在我的代码中插入了import-ipdb;ipdb.setTrace()
代码是:
@coroutine
def get(self, user_id, _user):
user = yield self.create_user(user_id)
import ipdb; ipdb.set_trace();
...
问题是调试器在调试模式下返回的不是enter,而是enter
File "/usr/lib/python3.6/asyncio/base_events.py", line 425, in run_forever
raise RuntimeError('This event loop is already running')
知道怎么修吗?您是否使用其他方法调试异步IO进程
代码以
python main.py
的形式执行,我认为IPython将尝试运行它自己的事件循环,因为您已经运行了一个可能有问题的事件循环。我认为IPython将尝试运行它自己的事件循环,因为您已经运行了一个可能有问题的事件循环。