python - 如何通过gdb获取python eventlet堆栈

标签 python gdb coroutine eventlet

我有一个 python 程序。它有很多 eventlet 协程。 似乎有一天程序会死锁。我已经倾倒了它的内存。 我要找理由。 问题是如何使用gdb获取eventlet协程栈。

附加信息:

  1. 我知道如何通过 gdb 获取所有线程堆栈。但是到了eventlet协程,就变难了。因为我没有足够的关于 python 解释器的信息。
  2. 我也知道如何通过迭代所有对象来获取 python 程序中的所有 eventlet 协程堆栈。但是对于我们应该通过gdb检查所有对象的情况是没有用的。

最佳答案

没有像常规线程那样简单的方法。

不过,这里有一些提示可以帮助您:

关于python - 如何通过gdb获取python eventlet堆栈,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33843027/

相关文章:

c# - 按下主页按钮或返回主菜单时取消协程

python - 为用户创建自定义登录更改了我的管理员的登录。如何防止这种情况?

c++ - 从 C++ 调用和控制 GDB

Gdb 进程记录/重放执行日志

android - 如何从协程返回错误响应

testing - Mockk:在协同程序中验证调用的方法

python - re.sub 上的非贪婪运算符

python - 如何混合使用 python mysql.connector 和报纸库?

python - 2D 数组的 Numpy 梯度

c++ - OSX Lion 上的 GDB 7.3.1