如何使用WinDbg创建内核转储

时间:2012-11-22 20:40:23

标签: kernel windbg minidump

我正在使用WinDbg调试Windows的内核模式设备驱动程序。 是否可以按需创建小型转储?

我的意思是,我的一个断点被击中,系统停止了。我想创建一个minidump(让我们说只有堆栈)。是否有WinDbg关键字?

提前致谢

2 个答案:

答案 0 :(得分:10)

你可以在遇到断点时编写一个像这样的迷你图:

bp myDLL!myFunc ".dump /ma c:\myDump.dmp;g"

这将为你的函数添加一个断点并执行引号中的命令,这将编写一个包含大多数标志的minidump,然后继续。

有关.dumpbp .dump /f 语法的更多信息,请参阅here

以用户或内核模式转储整个内存:

/ma

Unable to create file 'c:\myDump.dmp' - Win32 error 0n5 "Access is denied." 切换实际上为用户模式提供了更多信息。

如果收到错误:

.dump /f c:\users\public\myDump.dmp

尝试将文件写入c:\ users \ public \目录。

{{1}}

答案 1 :(得分:2)

请注意.dump无法创建内核内存转储,只能创建完整或小内存转储(/ f或/ m)。要获取内核内存转储,您需要使用控制面板来启用转储文件的写入,然后在调试器中使用.crash来触发崩溃,这将导致写入转储文件。

有关如何使用它的详细信息,请参阅.crash的windbg帮助,包括“创建内核模式转储文件”的链接。