【发布时间】:2020-06-20 04:42:36
【问题描述】:
我有一些代码可以在我的本地系统上完美运行。只有当我启动它以作为服务器上的 docker 容器化程序自动运行时,它才会在特定行挂起并超时。我无法在该特定环境中使用 pdb 单步执行该程序,也无法在可以使用调试器的环境中重现该行为。我可以在我的 cloudwatch 日志中看到它停止在那条线上并超时。
挂起的那行代码正在调用其他代码,但我在内部不知道它挂起的确切位置。有什么方法可以在这行代码周围包装一些东西,让它打印出它经历的每一步吗?
(作为参考,实际服务器是一个 AWS SageMaker 端点,不能通过 ssh 或其他任何方式直接访问,而超时的代码行是 AutoGluon model.predict() 调用。)
我想我正在寻找的可能是调试装饰器之类的东西,或者是一种自动化 pdb 并将其包装在函数调用中以查看其挂起位置的方法。或任何更好的建议。
【问题讨论】:
标签: python debugging remote-debugging