从卡住的python进程获取stacktrace

发布于 2021-01-29 16:15:43

我必须运行一个旧版Zope2网站并对此有所不满。最大的问题是,它偶尔会锁定,以100%的CPU负载运行,并且不再响应请求。虽然无法定期重现该问题,但有时包含3个动态图的一页会触发该问题,因此我怀疑某种竞争状况会导致无休止的循环或阻塞的忙碌等待。

问题是,我还没有找到一种调试方法。Zope日志中没有任何内容,系统日志中也没有任何内容。我尝试了此问题的建议以获取堆栈跟踪,但唯一有效的信号是SIGKILL

还有另一种可能性可以找出卡住的过程在哪里?

关注者
0
被浏览
51
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    如果该进程卡住了其他信号无法通过的方式,则您可能要考虑从调试器运行它,而不是尝试在运行时附加到它。

    另外,它可能对其他调试策略也很有用,例如关闭代码的某些部分以找出仍然可以重现的最小情况,以便找出导致它更好的原因。



知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看