我试图转储所有活动线程的列表,包括每个线程的当前堆栈。 我可以使用 threading.enumerate()
获取所有线程的列表,但我无法从那里找到获取堆栈的方法。
背景:Zope/Plone 应用程序会不时地出现问题,消耗了 100% 的 cpu,并且需要重新启动。 我有一种感觉,这是一个无法正常终止的循环,但是我无法在测试环境中重现它以进行验证。 我成功注册了一个信号处理程序,可以从外部触发,因此可以在情况再次发生时立即触发一些代码。 如果我能够转储所有活动线程的堆栈跟踪,那就可以给我一个线索,说明出了什么问题。整个应用程序都在 python 2.4 上运行...
有关如何追踪此类情况的任何想法都将不胜感激 :)
谢谢, Chriss