所以我正在使用微服务 python 包nameko,它使用eventlet
并调用eventlet.monkey_patch()
导入来运行服务。
我已经破译,正是这段代码阻止了任何调试尝试ipdb
。控制台显示在终端中,ipdb
但我无法输入任何内容,必须关闭整个终端会话才能退出进程。
如何使用ipdb
此功能?
编辑:这个问题似乎只发生在 docker 容器中。
抱歉,没有方便的解决方案,目前您最好的选择是在使用 ipdb 时跳过 docker(您可以从 docker 中提取文件系统映像并在另一个虚拟化中运行它,例如 qemu、Virtualbox、systemd-nspawn)。请参阅https://github.com/larsks/undocker寻求帮助。
其他尝试(可能不起作用,请分享结果):
pip install https://github.com/eventlet/eventlet/archive/master.zip