Memory WinDBG-!vad,“开始”和“结束”一栏是什么意思
我最近一直在使用WinDBG,我发现这很有用!vad分机。 我正在将虚拟地址转换为物理地址 总之,我不明白“开始”和“结束”专栏的意思,它是什么意思 如果有人能向我解释,那就太棒了。我在其他网站上找不到任何关于这个的内容,这可能太明显了 以下是一个输出示例: kd>!vad 824bc2f8 VAD级开始-结束提交 82741bf8 1 78000 78045 8映射的Exe执行\u写复制 824ef368 2 7f6f0 7f7ef 0映射执行\u读取 824bc2f8 0 7ffb0 7ffd3 0映射只读 8273e508 2 7ffde 7ffde 1私有执行\u读写 82643fc8 1 7ffdf 7ffdf 1专用执行\u读写Memory WinDBG-!vad,“开始”和“结束”一栏是什么意思,memory,virtual,windbg,Memory,Virtual,Windbg,我最近一直在使用WinDBG,我发现这很有用!vad分机。 我正在将虚拟地址转换为物理地址 总之,我不明白“开始”和“结束”专栏的意思,它是什么意思 如果有人能向我解释,那就太棒了。我在其他网站上找不到任何关于这个的内容,这可能太明显了 以下是一个输出示例: kd>!vad 824bc2f8 VAD级开始-结束提交 82741bf8 1 78000 78045 8映射的Exe执行\u写复制 824ef368 2 7f6f0 7f7ef 0映射执行\u读取 824bc2f8 0 7ffb0 7ff
摘自:VAD=虚拟地址描述符 Vpn=虚拟页码 页面大小=0x1000通常使用GetSystemInformation API 0x01第页开始于0x00,结束于0x1000 1*0x1000 0x10页从0x10开始,到0x10000 0x10*0x1000结束 以此类推,直到0xFFFFFF为32位进程地址空间的最大值 这里有一个解释 查找用户模式进程
kd> !process 0 0 explorer.exe
PROCESS 853bbd40 SessionId: 1 Cid: 0754 Peb: 7ffd5000 ParentCid: 072c
DirBase: 17632000 ObjectTable: 8a0fda28 HandleCount: 687.
Image: explorer.exe
在上面的结果中设置进程上下文\u EPROCESS address
kd> .process /p /r /P /i 853bbd40
You need to continue execution (press 'g' <enter>) for the context
to be switched. When the debugger breaks in again, you will be in
the new process context.
kd> g
Break instruction exception - code 80000003 (first chance)
nt!RtlpBreakWithStatusInstruction:
82897d00 cc int 3
使用上述结果中的Vadroot检查vad
对于主模块名称,您可以注意到开始
kd> .shell -ci "!vad 8497e218" grep -i explorer.exe
85416348 2 c10 e90 4 Mapped Exe EXECUTE_WRITECOPY \Windows\explorer.exe
检查主模块的peb,查看其是否对应于!vad->开始*页面大小
查看对应于的结束匹配!vad->结束*页面大小
kd> .shell -ci "!vad 8497e218" grep -i explorer.exe
85416348 2 c10 e90 4 Mapped Exe EXECUTE_WRITECOPY \Windows\explorer.exe
kd> .shell -ci "!peb " grep -i c10000.*explorer.exe
c10000 4ce796f3 Nov 20 15:07:55 2010 C:\Windows\Explorer.EXE
kd> lma 0xc10000
start end module name
00c10000 00e91000 Explorer (pdb symbols)
e:\symbols\explorer.pdb\57A762C063044F9C81BC4B8895FBF1AB2\explorer.pdb