【发布时间】:2009-06-23 14:13:38
【问题描述】:
我正在尝试转储所有活动线程的列表,包括每个线程的当前堆栈。我可以使用 threading.enumerate() 获取所有线程的列表,但我无法找到从那里进入堆栈的方法。
背景:Zope/Plone 应用程序时不时出现异常,消耗 100% 的 cpu,需要重新启动。我感觉这是一个没有正确终止的循环,但我无法在测试环境中重现它以进行验证。我设法注册了一个可以从外部触发的信号处理程序,因此一旦情况再次发生,我就可以触发一些代码。如果我可以转储所有活动线程的堆栈跟踪,那将给我一个线索是哪里出了问题。洞东西在python 2.4上运行...
感谢任何关于如何追踪此类情况的想法:)
干杯, 克里斯
【问题讨论】:
标签: python multithreading plone zope