我们在 Windows 7 机器上运行的 .NET 3.5 C# wpf 客户端应用程序消耗了大量 CPU,当我们使用进程资源管理器查看进程时,我们看到一堆线程,其起始地址为 mscorwks.dll!InitialzeFusion。这些线程消耗了很大比例的 cpu 周期。有什么想法可以诊断/调试这些线程到底在做什么?
需要注意的是,我看到此时有 55 个线程正在运行,其中大约 20 个正在积极消耗 CPU,而其他线程似乎什么也没做。
这是来自其中一个线程的堆栈:
USER32.dll!SystemParametersInfoW+0xc9
USER32.dll!IsProcessDPIAware+0x1d1
ntdll.dll!KiUserCallbackDispatcher+0x1f
USER32.dll!SfmDxSetSwapChainStats+0x1a
USER32.dll!GetMessageW+0x2a
mscorwks.dll!IEE+0xd23b
WindowsBase.ni.dll+0x11179b
WindowsBase.ni.dll+0x11e517
WindowsBase.ni.dll+0x117735
WindowsBase.ni.dll+0x1175ee