我有这个Python应用程序不时被卡住,我无法找到在哪里.
有没有办法告诉Python解释器向您显示正在运行的确切代码?
某种即时堆栈跟踪?
相关问题:
我正在创建一组枚举值,但我需要每个枚举值为64位宽.如果我没记错的话,枚举通常与int的大小相同; 但是我认为我读过某个地方(至少在GCC中),编译器可以使枚举成为保持其值所需的任何宽度.那么,有可能有一个64位宽的枚举?
我正在尝试转储所有活动线程的列表,包括每个线程的当前堆栈.我可以使用threading.enumerate()获取所有线程的列表,但我无法找到从那里到达堆栈的方法.
背景:一个Zope/Plone应用程序不时出现问题,消耗100%的CPU并需要重新启动.我感觉这是一个没有正确终止的循环,但我无法在test-environemt中重现它以进行验证.我设法注册一个可以从外部触发的信号处理程序,所以我可以在情况再次发生时立即触发一些代码.如果我可以为所有活动线程转储堆栈跟踪,这将给我一个问题的线索.洞的东西在python 2.4上运行......
关于如何追踪这些情况的任何想法都值得赞赏:)
干杯,克里斯
我试图在锁定后修改多线程Python应用程序中的死锁.有没有办法附加调试器来检查进程的状态?
编辑:我在Linux上尝试这个,但是如果有一个跨平台的解决方案那就太棒了.毕竟是Python的:)
具体来说,我正在用Flanicorn中的默认工作人员运行Flask应用程序。我试图弄清楚如何调试/跟踪在处理请求时由于超时导致工作人员死亡的情况。有没有一种方法可以获取堆栈跟踪或配置文件以调试此请求?