gpt4 book ai didi

python-3.x - 在 python asyncio 中调试并列出所有待处理的协程

转载 作者:行者123 更新时间:2023-12-04 12:51:43 25 4
gpt4 key购买 nike

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

最佳答案

正如 OP 所观察到的,可以通过以下方式进行进一步检查

[*map(asyncio.Task.print_stack, asyncio.Task.all_tasks())]

(OP 当然是免费的 self-answer 。)

关于python-3.x - 在 python asyncio 中调试并列出所有待处理的协程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45451437/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com