首页 > 解决方案 > 从冻结的计算机中获取 .Net 应用程序的内存转储

问题描述

我的 32 位 .Net 程序有时会挂起整个 Windows 10 操作系统。我无法访问计算机上的任务管理器或控制台来转储我的 .Net 以在 windbg 中进行分析。我们已经尝试过 RDP、RDP 到控制台、远程命令行 - 但没有运气访问计算机 - 我们只需要重新启动。

有没有办法在操作系统挂起时获取 Windows 10 诊断转储,然后将其分析为 WinDBG 中的 .Net 应用程序?注意:我的应用程序是 32 位的,为 64 位应用程序创建的转储不适用于我在 WinDbg 中的应用程序。

谢谢

标签: c#.netwindowswindbg

解决方案


不幸的是,如果您的 windows 机器被冻结并且没有响应任何输入设备(键盘/鼠标),那么从该机器获取转储的唯一方法是设置 windows 内核调试。

您必须按照此处描述的步骤进行操作。一旦你的机器设置好内核调试,并且你已经确认你可以闯入运行程序的机器的内核,等到机器没有响应然后再闯入机器。

这将允许您检查窗口当前正在做什么。设置调试器和使用 windbg 内核调试需要一点学习曲线,但这是 Windows 提供的最强大的调试环境。你可以在这里下载windbg。它带有全面的文档。


推荐阅读