windbg中memory查找以及写到文件

来源:互联网 发布:linux nslookup找不到 编辑:程序博客网 时间:2024/09/21 08:15

在Debug Driver时,我们经常需要用到kernel debug来抓取LOG,但是如果没有Kernel Debug,如何来抓取Debug LOG呢?

方法之一就是将log写到内存,在BSOD时,抓取kerenl memory dump文件进行分析,这里记录下这两个命令,用来查找内存块,写内存到文件。

1,

!poolfind TAG

2,

.writemem filename range


举例说明下吧,譬如在driver中,用ExAllocatePoolWithTag分配了一段0x1000长度的内存,Tag为“TSET",则在windbg窗口可以通过

!poolfind TEST 来找到这段内存块,会显示起始地址和长度信息,假设是0xf0000000,长度为0x1000。

*f0000000 :large page allocation, Tag  is TEST, size  is 0x1000 bytes


.writemem c:\test.log 0x20000000 L1000

则会将上述长度的内存写到文件c:\test.log中,可以直接查看LOG的内容了。


具体cmd可以参考:

!poolfind

http://msdn.microsoft.com/en-us/library/windows/hardware/ff564696(v=vs.85).aspx

.writemem

http://msdn.microsoft.com/en-us/library/windows/hardware/ff566176%28v=vs.85%29.aspx

0 0
原创粉丝点击