3

我的 Outlook 插件应用程序挂起,windbg 挂起转储分析显示所有线程都处于挂起/解冻状态。事件查看器和进程监视器中的错误显示了数百个注册表查找失败和磁盘访问失败。线程的挂起/解冻状态是什么意思?

4

1 回答 1

2

如果您从“索引”选项卡下的“~(线程状态)命令”中查找“控制进程和线程”链接,WinDBG 的 F1 帮助将更详细地解释以下内容。还有一个MSDN 链接

因此,除非您附加了调试器,否则首先冻结没有任何意义,因此只有调试器可以冻结或解冻线程。

挂起的线程有一个挂起计数,这样当计数变为 0 时,如果适当,该线程恢复执行,大于 0 将挂起线程。

通常,当您附加调试器时,它会将每个线程的挂起计数增加 1,因为您正在侵入性地调试应用程序或遇到断点。

因此,冻结/解冻状态仅在您连接了调试器并遇到断点时才有意义,挂起/未挂起是应用程序运行时每个线程的挂起计数。

希望这可以帮助。

于 2012-03-01T11:20:32.310 回答