调试并列出将来在python asyncio中挂起的所有协同程序

问题描述 投票:6回答:1

我有一个生产代码,大量使用asyncio.semaphore模块,怀疑有死锁问题。我已经找到了一些解决方案,如何使用unix信号附加到运行python代码,使用ipdb.set_trace()调试并使用asyncio.Task.all_tasks()列出事件循环上的所有任务。我可以进一步检查每个任务的堆栈框架,还是查看ipdb上当前待定的协方程序的每一行?

python-3.x debugging semaphore python-asyncio ipdb
1个回答
© www.soinside.com 2019 - 2024. All rights reserved.