gpt4 book ai didi

c# - 将进程附加到 windbg 后,CPU 使用率立即变为 0

转载 作者:太空宇宙 更新时间:2023-11-03 17:30:38 24 4
gpt4 key购买 nike

我得到了一个内存转储来分析在 Windows 2008 R2(客户端机器)上运行的服务的高 CPU 使用率。转储是使用任务管理器获取的。

我尝试在提供给我的转储中使用我们可用的符号(转储是使用任务管理器获取的),但没有成功。后来,我发现从任务管理器中获取的转储无法正常工作,因此我使用 Windbg 在我的系统 中获取了该服务的转储。我能够加载符号。

但是,我需要来自客户端机器的转储文件。当我尝试通过将服务附加到 Windbg 来获取该服务的转储时,它消耗了大约 85% 的 CPU,令我惊讶的是,CPU 消耗突然下降到 0%。

显然,我需要客户端计算机的转储来分析发生的情况以及服务占用 85% CPU 的原因。

不知道如何使用 Windbg 进行转储,按 F6 附加服务后,CPU 消耗率立即降至 0%。

最佳答案

当您使用 windbg 附加时,所有线程都会在您的服务中暂停,直到您发出 g 命令。这就是您的服务的 CPU 消耗变为零的原因。但这没关系,因为您拥有当 CPU 消耗 为 85% 时所有线程正在执行的操作的快照。 ~*kb 命令会告诉你。然后发出 g,注意 CPU 消耗又回来了。当它足够高时,中断 (Debug | Break) 然后再次运行 ~*kb 以查看线程在做什么。重复多次,您应该会看到一个模式。此外,每次使用 !runaway 可以轻松查看最繁忙的线程。

关于c# - 将进程附加到 windbg 后,CPU 使用率立即变为 0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32963784/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com