【发布时间】:2020-08-01 13:57:33
【问题描述】:
我们的应用程序间歇性地挂起。我们得到了内存转储,我把它加载到了windbg。它在windbg中显示了100多个线程。
我想知道在挂起发生之前最近执行的线程是什么。所以我想根据最后一个活动对线程进行排序。有什么方法/命令可以检查吗?
【问题讨论】:
-
对不起,为什么这个问题被否决了?在投反对票之前至少给出一些解释?
-
调试挂起转储需要大量经验,并且“根据上次活动对线程进行排序”并不是真正必要的。在没有实际看到垃圾场的情况下,我认为无法讨论更多内容。 Stack Overflow 不太可能是解决此类问题的好地方。您最好升级为团队中的资深人员,或者直接向 Microsoft 提出支持案例。
-
您可以尝试
!analyze -v -hang,但如果这没有告诉您任何信息,您可能需要查看 Windows 性能记录器/分析器。它更适合告诉您线程/进程正在等待什么,但请注意,这是一个陡峭的学习曲线。我建议从 bruce dawson(我认为)下载 wprui 以抢占先机。