python - eventlet.monkey_patch()中断Docker容器中的ipdb

所以我正在使用微服务python包nameko,该包使用eventlet运行服务,并在导入时调用eventlet.monkey_patch()

我认为这是这段代码阻止通过ipdb进行任何调试尝试。 ipdb控制台显示在终端中,但是我无法键入任何内容,必须关闭整个终端会话才能退出该过程。

卡住的控制台看起来像:
enter image description here

如何在此功能中使用ipdb

编辑:仅在Docker容器中时才出现此问题。

最佳答案

抱歉,没有方便的解决方案,目前最好的选择是在使用ipdb时跳过docker(您可以从docker提取文件系统映像,然后在另一个虚拟化环境中运行它,例如qemu,Virtualbox,systemd-nspawn)。请参阅https://github.com/larsks/undocker以获取帮助。

尝试其他操作(可能不起作用,请分享结果):


将eventlet更新为github master pip install https://github.com/eventlet/eventlet/archive/master.zip


此问题交叉发布在此处https://github.com/eventlet/eventlet/issues/361

本文翻译自 https://stackoverflow.com/questions/40842877/

网站遵循 CC BY-SA 4.0 协议,转载或引用请注明出处。

标签 python pdb eventlet ipdb nameko


相关文章:

python - 如果代码中有eventlet.monkey_patch(),是否无法进行远程调试?

python - 当我尝试对列表进行排序时,出现错误“ dict”对象没有属性

python - 读取输入直到用户停止

python - 以某种方式使用py.test时,我可以使用python调试器进行调试吗?

python - 如何在Python PDB中显示线程/进程ID?

python - Python Eventlet生成无法正常工作

python - 在列表内制作按字母顺序排列的嵌套列表

python - 将计算值存储在对象中

python - Emacs pdb和多线程Python代码中的断点问题

mysql - 使用MySQL的Gunicorn多线程