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