蓝屏后如何获取内存转储

发布于 2024-10-05 18:13:35 字数 390 浏览 1 评论 0原文

我正在编写的驱动程序在启动时出现可爱的 BSOD(STOP: 0x0000007E),并且想要加载内存转储进行分析。但是,它不会被丢弃到任何地方。启动和恢复设置中的所有内容均已正确设置,但我没有收到转储文件,事件日志中也没有任何内容表明已发生转储。看起来转储甚至没有发生...

我知道导致它的确切代码行(调用 IoAttachDevice()),但不确定为什么,并且想查看 < code>DbgPrint 输出以查看到底哪里失败了。在设置转储功能之前,Windows 可能会崩溃吗?如果是这样,当故障发生时如何获取机器的状态?

更新:其他可能有用的信息:我在 Linux 主机上通过 VirtualBox 运行 Windows XP。

I'm getting a lovely BSOD on bootup (STOP: 0x0000007E) from a driver I'm writing, and would like to load up the memory dump for analysis. However, it's not getting dumped anywhere. Everything is setup correctly in the Startup and Recovery settings, but I get no dump file, and nothing in the event log stating a dump has taken place. It looks like a dump is not even occurring...

I know the exact line of code causing it (a call to IoAttachDevice()), but am not sure why, and would like to view the DbgPrint output to see where exactly it's failing. Could Windows possibly be crashing before the dumping functionality is set up? If so, how do I get access to the state of the machine when the failure occurs?

UPDATE: Other possibly useful information: I'm running Windows XP through VirtualBox on a Linux host.

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

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

发布评论

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

评论(3

世态炎凉 2024-10-12 18:13:35

我不知道为什么你没有得到转储文件,但如果你可以访问机器,请附加一个内核调试器来重现错误 - 你将留下机器坐在调试器中,准备好继续(如果您还想离线调试,可以让调试器为您生成转储文件)。

I don't know why you're not getting a dump file, but if you have ready access to the machine, attach a kernel debugger to it an repro the error - you'll be left with the machine sitting in the debugger, ready to go (you can have the debugger produce the dumpfile for you if you want to debug offline as well).

生寂 2024-10-12 18:13:35

右键单击“我的电脑”选择“高级”,在“启动和恢复”下单击“设置”。选择“内核内存转储”或“完整内存转储”。

Right-click on "my computer" select "Advanced", under "startup and recovery" click "settings". select "kernel memory dump" or "complete memory dump".

人间不值得 2024-10-12 18:13:35

你的驱动程序的启动设置是什么?如果它在引导顺序中启动得太早,则文件系统可能尚未以读写方式重新安装,因此没有地方可供转储。

正在开发的驱动程序通常不应设置为自动启动,直到稍后加载时驱动程序稳定为止。当然,您最终需要将其设置为自动启动,以便您可以验证它是否正常工作,但那是稍后的事情。

What's the start setting of your driver? If it starts too early in the boot order, the filesystem might not be remounted read-write yet, and therefore there's no place for a dump to go.

Drivers under development shouldn't generally be set to auto-start until you've gotten the driver stable when loaded later. Of course you eventually need to set it to auto-start so you can verify it works correctly, but that comes later.

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