![在 Windows 8 消费者预览版中查找有用的崩溃信息](https://linux22.com/image/1307783/%E5%9C%A8%20Windows%208%20%E6%B6%88%E8%B4%B9%E8%80%85%E9%A2%84%E8%A7%88%E7%89%88%E4%B8%AD%E6%9F%A5%E6%89%BE%E6%9C%89%E7%94%A8%E7%9A%84%E5%B4%A9%E6%BA%83%E4%BF%A1%E6%81%AF.png)
我目前正在深入研究 C#,并想尝试一下 Windows 8 中引入的新的 Metro 风格的应用程序,所以我将 Windows 7 更新到了 Windows 8 消费者预览版。
我现在面临的问题是,系统在 3-5 分钟后会冻结。它不接受任何来自键盘或鼠标的输入,并且无法恢复(至少在 10 分钟内无法恢复)。
由于我有 Linux 背景,所以我想找到一些有关冻结原因的信息,但我不知道在哪里搜索。
我检查了系统日志(在“系统控制”->“管理”下),但它们只记录了系统意外关闭(因为我按住电源按钮重新启动了 PC)。其中没有有用的崩溃信息。
我不想花几个小时随机重新安装驱动程序并做一些“可能有帮助”的事情。 有没有地方可以找到有关冻结的一些有用信息?
在你提问之前:
- 我安装了 Windows 8 作为我旧有 Windows 7 安装的更新(顺便说一下,它运行良好)。
- 我的硬件满足最低要求(规格可参见 这里,配备 2GHz 处理器的 MacMini 3,1 型号)。
- 我已将显卡驱动程序更新为 nVidia 的最新 Windows 8 驱动程序。
编辑:我现在在我的计算机上使用最终版的 Windows 8 Pro,它存在与开发人员预览版相同的问题。
然而,之后停用新的“动态刻度”功能,系统现在很稳定,运行良好。我没有在 DP 上尝试过,所以我不知道这是否也可以解决它的问题。
答案1
您需要设置手动生成内核/完整内存转储,打开“在此页面上”并单击“如何使用键盘生成手动内存转储文件”。
这个CrashOnCtrlScroll
技巧可能让你在系统挂起时生成转储,类似于 Linux 上的 Magic SysRq 的工作方式。然后,你可以使用 Windows 调试工具中的 WinDBG 进一步调查崩溃转储,它附带一个包含大量调试技术的帮助文件。
如果这不起作用你需要设置内核模式调试使用一些首选的通信方法,然后启动 WinDBG(或 Visual Studio,但我怀疑它是否能够深入分析问题)连接参数或从文件菜单建立连接。
如果你是新手,你可能需要了解 Windows 内部工作原理,并确保下载Windows 符号包适合您的操作系统,否则,您看到的有关函数的堆栈跟踪和其他信息可能毫无意义。
祝你好运,一开始可能会很难,但你学得越多就会越有价值……
硬冻结是最难调试的情况之一,因为它们没有给您一个起点。