过去,我只将 Windbg 用于最简单的 !analyze -v。现在我遇到了一点问题……某个进程疯狂运行并消耗了所有可用内存(我可以在监控软件中看到它的峰值),但我无法看到它发生的时间,尽管我拥有强大的谷歌搜索能力,但我找不到列出进程和内存使用情况的方法。我确实意识到这可能不是 windbg 的确切用例,但是否可以从 Windbg 或其他脚本或应用程序获取此信息?
答案1
你是对的 - 这不是 Windbg 或 kd.exe 的主要用例,但为了回答你的问题,你需要该!vm
命令。
如果有,kd.exe
您可以对内存转储进行操作。如果您livekd.exe
从 Microsoft Sysinternals 下载,它会包装kd.exe
并允许您对实时内存进行操作。
为了给这个答案增加更多价值,您可能想要查看的另一个很棒的工具是 ProcDump,也是来自 Sysinternals 的。Procdump 可以配置为在满足特定条件时自动进行内存转储,例如当可用系统内存低于某个点时,或者当特定进程超过某个内存或 CPU 使用率阈值时,等等。