如何使用WinDbg创建内核转储

val*_*ldo 7 minidump kernel windbg

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

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

提前致谢

EdC*_*ica 10

当它碰到你的断点时,你可以像这样编写一个minidump:

bp myDLL!myFunc ".dump /ma c:\myDump.dmp;g"
Run Code Online (Sandbox Code Playgroud)

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

这里的更多信息.dump,并在这里bp语法.

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

.dump /f
Run Code Online (Sandbox Code Playgroud)

但是/ma切换实际上为用户模式提供了更多信息.

如果您收到错误:

Unable to create file 'c:\myDump.dmp' - Win32 error 0n5
    "Access is denied."
Run Code Online (Sandbox Code Playgroud)

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

.dump /f c:\users\public\myDump.dmp
Run Code Online (Sandbox Code Playgroud)