窗户崩溃的原因

发布于 2024-12-01 22:12:37 字数 142 浏览 1 评论 0 原文

我写了一些程序,它使用有关(通过Windows读取)当前PC硬件的信息(大程序,所以我不能在这里发布代码),有时我的Windows 7崩溃了,最糟糕的是我不知道为什么,并且调试对我没有帮助,有没有办法从 Windows 7 接收某种日志,为什么它崩溃了?预先感谢您的帮助

I wrote some program which uses information about (reads via Windows) hardware of the current PC (big program, so I can't post here code) and sometimes my windows 7 crashes, the worst thing is that I have no idea why, and debug doesn't help me, is there any way to receive from windows 7 some kind of log, why it crashed? thanks in advance for any help

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

诗酒趁年少 2024-12-08 22:12:37

正确(但有点难看)的答案:

转到“计算机”->“属性”,转到“高级系统设置”。
在启动和恢复下,确保将其设置为“内核内存转储”并记下转储文件的位置(在完全默认的安装中,您正在查看 C:\windows\memory.dmp)

您最好希望安装 Windows调试工具(现在位于 Windows SDK 中)以及在符号设置中设置 MS 符号存储 (http://msdn.microsoft.com/en-us/library/ff552208(v=vs.85).aspx)

完成所有这些后,等待崩溃并在调试器中检查 memory.dmp。通常您不会看到确切的崩溃,因为您的驱动程序供应商不包含符号,但您通常还会看到崩溃中涉及的 DLL 名称,这应该会指出您正在处理的驱动程序。

如果您在堆栈中没有看到特定的驱动程序 DLL 名称,这通常表明需要解决硬件故障(例如内存或开销)。

MS 在 technet 上有一篇很好的文章,描述了我上面提到的内容(但一步一步且更详细)http://blogs.technet.com/b/askcore/archive/2008/11/01/how-to-debug-kernel-mode-blue-screen-crashes-for-beginners.aspx< /a>

您还可以像其他人指出的那样查看事件日志,但通常情况下,除了实际的内核消息之外,其中的信息几乎没有用处(有时可以模糊地表明问题是驱动程序还是其他问题)

The correct (but somewhat ugly) answer:

Go to Computer->Properties, go to 'Advanced System Settings'.
Under startup and recovery, make sure it is set to "Kernel memory dump" and note the location of the dump file (on a completely default install, you are looking at C:\windows\memory.dmp)

You optimally want to install Windows Debugging tools (now in the Windows SDK) as well as setting the MS Symbol store in your symbol settings (http://msdn.microsoft.com/en-us/library/ff552208(v=vs.85).aspx)

Once youv'e done all that, wait for a crash and inspect memory.dmp in the debugger. Usually you will not see the exact crash because your driver vendors don't include symbols, but you will also generally get to see the DLL name that is involved in the crash, which should point you to what driver you are dealing with.

If you are not seeing a specific driver DLL name in the stack, it often indicates to me a hardware failure (like memory or overhead) that needs to be addressed.

MS has a good article here at technet that describes what I mentioned above (but step by step and in greater detail) http://blogs.technet.com/b/askcore/archive/2008/11/01/how-to-debug-kernel-mode-blue-screen-crashes-for-beginners.aspx

You can also look at the event log as someone else noted, but generally the information there is next to useless, beyond the actual kernel message (which can sometimes vaguely indicate whether the problem is driver or something else)

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文