我有点好奇人们正在使用什么替代方案调试在Docker容器中使用uwsgi或gunicorn运行的应用程序。
该场景将是一个无法在本地再现的错误,而且似乎只在生产/暂存中发生。
从我所看到的,有些人似乎建议在服务器中运行应用程序的第二个实例,并使用ssh隧道进行调试。添加一些跟踪,一旦发现问题,请终止第二个实例并恢复正常。
另一种选择是使用rpdb或pudb这样的东西,如here所述,但这通常意味着必须在我们想要添加断点的位置添加痕迹,以及重新启动gunicorn或Docker容器考虑到这些变化。
我能想到的最后一个选项是使用验尸,这也很好但是像往常一样,意味着重新启动服务器,因为我必须包含跟踪,所以如果一个预期发生,调试器将显示...... < / p>
对我来说不那么干扰似乎是第一选择,因为我可以同时运行2个相同应用程序的实例,并且在调试之后我可以关闭调试版本并且原始版本保持不变...
还有其他选择吗?