High CPU 用法的 32 位进程的进程转储分析

Process Dump analysis of 32 bit process for High CPU usage

我有一个 32 位 CPP windows 服务应用程序,有时随机 CPU 使用率很高 (70%)。我从 32 位任务管理器(32 位转储)和 64 位任务管理器(64 位转储)获取了 exe 的进程转储。任何人都可以指导我如何分析这些转储以确定我的代码的哪一部分导致了如此高的 CPU 使用率。

Process Dump analysis of 32 bit process for High CPU usage

我建议你可以在visual studio中调试这些转储文件,这样你就可以找到哪里出了问题。

建议

1) install Windows Driver Kit in VS

2)打开VS并选择文件-->打开-->文件-->选择转储文件。

3) 将dll和pdb文件的路径(xxx\project name\bin\Debug)配置到Symbols中Window并且检查Symbols下的Microsoft Symbol Server Window.

4) 然后您可以单击 Debug with Managed Only 进行调试。

更详细的步骤可以参考Use Visual Studio to debug the dump files

另外,也可以尝试use Windbg to analysis dump files and this.