﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>IT博客网-NetRoc's Blog</title><link>http://www.cnitblog.com/cc682/</link><description>N-Tech</description><language>zh-cn</language><lastBuildDate>Sat, 11 Oct 2008 19:26:22 GMT</lastBuildDate><pubDate>Sat, 11 Oct 2008 19:26:22 GMT</pubDate><ttl>60</ttl><item><title>空间转移</title><link>http://www.cnitblog.com/cc682/archive/2008/09/03/48683.html</link><dc:creator>NetRoc/cc682</dc:creator><author>NetRoc/cc682</author><pubDate>Wed, 03 Sep 2008 14:16:00 GMT</pubDate><guid>http://www.cnitblog.com/cc682/archive/2008/09/03/48683.html</guid><wfw:comment>http://www.cnitblog.com/cc682/comments/48683.html</wfw:comment><comments>http://www.cnitblog.com/cc682/archive/2008/09/03/48683.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/cc682/comments/commentRss/48683.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/cc682/services/trackbacks/48683.html</trackback:ping><description><![CDATA[由于blog的形式查阅帮助文档不便，所以还是转移到了专门的空间中，做成了在线Help的形式。目前翻译的文档由于需要修复链接，以及更新新版WinDbg文档中的内容，所以还在陆续整理中。<br>另外还挂了一个论坛和另一个blog上去，刚刚开始做，所以各方面都还很不完善，正在努力中:)<br><a href="http://www.dbgtech.net/">http://www.dbgtech.net/</a>
<img src ="http://www.cnitblog.com/cc682/aggbug/48683.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/cc682/" target="_blank">NetRoc/cc682</a> 2008-09-03 22:16 <a href="http://www.cnitblog.com/cc682/archive/2008/09/03/48683.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>WinDbg 文档翻译----91</title><link>http://www.cnitblog.com/cc682/archive/2008/08/18/48112.html</link><dc:creator>NetRoc/cc682</dc:creator><author>NetRoc/cc682</author><pubDate>Mon, 18 Aug 2008 03:24:00 GMT</pubDate><guid>http://www.cnitblog.com/cc682/archive/2008/08/18/48112.html</guid><wfw:comment>http://www.cnitblog.com/cc682/comments/48112.html</wfw:comment><comments>http://www.cnitblog.com/cc682/archive/2008/08/18/48112.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cnitblog.com/cc682/comments/commentRss/48112.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/cc682/services/trackbacks/48112.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: cc682/NetRoc http://netroc682.spaces.live.com/ !evlog !evlog 扩展命令用于显示、修改或者备份事件日志(event log)。 语法 !evlog&nbsp;addsource&nbsp;[-d]&nbsp;[-s&nbsp;Source]&nbsp;[-t&nbsp;Type]&nbsp;[-f&nbsp;MsgFil...&nbsp;&nbsp;<a href='http://www.cnitblog.com/cc682/archive/2008/08/18/48112.html'>阅读全文</a><img src ="http://www.cnitblog.com/cc682/aggbug/48112.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/cc682/" target="_blank">NetRoc/cc682</a> 2008-08-18 11:24 <a href="http://www.cnitblog.com/cc682/archive/2008/08/18/48112.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>WinDbg 文档翻译----90</title><link>http://www.cnitblog.com/cc682/archive/2008/08/12/47932.html</link><dc:creator>NetRoc/cc682</dc:creator><author>NetRoc/cc682</author><pubDate>Tue, 12 Aug 2008 07:06:00 GMT</pubDate><guid>http://www.cnitblog.com/cc682/archive/2008/08/12/47932.html</guid><wfw:comment>http://www.cnitblog.com/cc682/comments/47932.html</wfw:comment><comments>http://www.cnitblog.com/cc682/archive/2008/08/12/47932.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/cc682/comments/commentRss/47932.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/cc682/services/trackbacks/47932.html</trackback:ping><description><![CDATA[<p><span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体">cc682/NetRoc </span></p>
<p><a href="http://netroc682.spaces.live.com/"><span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体">http://netroc682.spaces.live.com/</span></a> </p>
<h1>用户模式扩展命令 </h1>
<p>本小节中的参考用于描述主要在用户模式调试时使用的扩展命令。 </p>
<p>调试器会自动加载这些扩展命令的适当版本。如果不是自己已经加载了一个不同的版本，那么就不需要关心所使用的DLL版本。查看<a href="mk:@MSITStore:D:\Program%20Files\Debugging%20Tools%20for%20Windows\debugger.chm::/hh/Debugger/r08_use_remote_8493d413-185c-4d40-be6b-bd00cb61cc03.xml.htm">使用调试器扩展命令</a>获得默认模块搜索顺序的说明。查看<a href="mk:@MSITStore:D:\Program%20Files\Debugging%20Tools%20for%20Windows\debugger.chm::/hh/Debugger/r08_use_remote_ac80d1f3-ff3f-4374-9e70-2a73b84ac647.xml.htm">加载调试器扩展DLL</a>获得关于加载扩展模块的说明。 </p>
<p>每个扩展命令的参考部分都列出了导出该命令的DLL。可以用下面的规则来判断扩展DLL是从什么地方加载的： </p>
<ul>
    <li>目标程序运行在Windows NT 4.0发行版上，使用的是<em>nt4fre\Ntsdexts.dll</em>。
    <li>目标程序运行在Windows NT 4.0 checked版上，使用<em>nt4chk\Ntsdexts.dll</em>。
    <li>目标程序运行在Windows 2000 发行版商，使用<em>w2kfre\Ntsdexts.dll</em>。
    <li>目标程序运行于Windows 2000 checked版本上，使用<em>w2kchk\Ntsdexts.dll</em>。
    <li>目标程序运行于Windows&nbsp;XP和之后版本中时，使用 <em>winxp\Ntsdexts.dll</em>。 </li>
</ul>
<p>另外，和操作系统不相关的那些用户模式扩展放在<em>winext\Uext.dll</em>中。 </p>
<h1>!avrf </h1>
<p><strong>!avrf</strong>扩展用于控制<a href="mk:@MSITStore:D:\Program%20Files\Debugging%20Tools%20for%20Windows\debugger.chm::/hh/Debugger/AppVerif2_437533d6-daa8-4fe9-90da-a7717ebc9683.xml.htm">Application Verifier</a>的设置，并且显示由Application Verifier产生的各种输出。 </p>
<h4>语法 </h4>
<p style="BACKGROUND: #dddddd"><span style="FONT-FAMILY: Courier New"><strong>!avrf</strong>&nbsp;<br><strong>!avrf&nbsp;-a</strong>&nbsp;<em>Address</em>&nbsp;<br><strong>!avrf&nbsp;-cs</strong>&nbsp;{&nbsp;<em>Length</em>&nbsp;|&nbsp;<strong>-a</strong>&nbsp;<em>Address</em>&nbsp;}&nbsp;<br><strong>!avrf&nbsp;-hp</strong>&nbsp;{&nbsp;<em>Length</em>&nbsp;|&nbsp;<strong>-a</strong>&nbsp;<em>Address</em>&nbsp;}&nbsp;<br><strong>!avrf&nbsp;-vs</strong>&nbsp;{&nbsp;<em>Length</em>&nbsp;|&nbsp;<strong>-a</strong>&nbsp;<em>Address</em>&nbsp;}&nbsp;<br><strong>!avrf&nbsp;-dlls</strong>&nbsp;[&nbsp;<em>Length</em>&nbsp;]&nbsp;<br><strong>!avrf&nbsp;-ex</strong>&nbsp;[&nbsp;<em>Length</em>&nbsp;]&nbsp;<br><strong>!avrf&nbsp;-cnt</strong>&nbsp;<br><strong>!avrf&nbsp;-trm</strong>&nbsp;<br><strong>!avrf&nbsp;-threads</strong>&nbsp;[<em>ThreadID</em>]&nbsp;<br><strong>!avrf&nbsp;-trace</strong>&nbsp;<em>TraceIndex</em>&nbsp;<br><strong>!avrf&nbsp;-brk</strong>&nbsp;[<em>BreakEventType</em>]&nbsp;<br><strong>!avrf&nbsp;-flt</strong>&nbsp;<br><strong>!avrf&nbsp;-flt</strong>&nbsp;<em>EventType</em>&nbsp;<em>Probability</em>&nbsp;<br><strong>!avrf&nbsp;-flt&nbsp;break</strong>&nbsp;<em>EventType</em>&nbsp;<br><strong>!avrf&nbsp;-flt&nbsp;stacks</strong>&nbsp;<em>Length</em>&nbsp;<br><strong>!avrf&nbsp;-trg</strong>&nbsp;[&nbsp;<em>Start&nbsp;End</em>&nbsp;|&nbsp;<strong>dll</strong>&nbsp;<em>Module</em>&nbsp;|&nbsp;<strong>all</strong>&nbsp;]&nbsp;<br><strong>!avrf&nbsp;-skp</strong>&nbsp;[&nbsp;<em>Start&nbsp;End</em>&nbsp;|&nbsp;<strong>dll</strong>&nbsp;<em>Module</em>&nbsp;|&nbsp;<strong>all</strong>&nbsp;|&nbsp;<em>Time</em>&nbsp;]&nbsp;<br></span></p>
<h4>参数<span style="FONT-FAMILY: 宋体"> </span></h4>
<p><strong>-a</strong> <em>Address</em> </p>
<p style="MARGIN-LEFT: 21pt">指定一个地址。会显示包含这个地址的内存分配记录、以这个地址为开始的内存释放操作记录。如果该选项前面没有 <strong>&#8211;cs</strong>、 <strong>-hp</strong>或者 <strong>&#8211;vs</strong>，那么会搜索light heap。 </p>
<p><strong>-cs</strong> </p>
<p style="MARGIN-LEFT: 21pt">显示临界区(critical section)的删除日志。详细信息查看Application Verifier 文档中的"Critical Section Delete Logs"。 </p>
<p><strong>-hp</strong> </p>
<p style="MARGIN-LEFT: 21pt">显示堆操作日志。详细信息查看Application Verifier 文档中的"Heap Operation Logs"。 </p>
<p><strong>-vs</strong> </p>
<p style="MARGIN-LEFT: 21pt">显示虚拟地址空间(virtual space)操作日志。详细信息，查看Application Verifier 文档中的"Virtual Space Operation Logs"。 </p>
<p><strong>-dlls</strong> </p>
<p style="MARGIN-LEFT: 21pt">显示DLL的加载/卸载日志。详细信息查看Application Verifier 文档中的"DLL Load/Unload Logs"。 </p>
<p><strong>-ex</strong> </p>
<p style="MARGIN-LEFT: 21pt">显示异常日志。详细信息查看Application Verifier 文档中的"Exception Logs"。 </p>
<p><em>Length</em> </p>
<p style="MARGIN-LEFT: 21pt">指定要显示的记录数量。如果使用了<strong>-dlls</strong> 或者<strong>-ex</strong> 选项，则可以省略<em>Length</em>来显示所有的DLL 加载/卸载操作或者所有异常记录。 </p>
<p><strong>-cnt</strong> </p>
<p style="MARGIN-LEFT: 21pt">显示全局计数器(global counter)的清单。 </p>
<p><strong>-trm</strong> </p>
<p style="MARGIN-LEFT: 21pt">显示所有终止和挂起线程的日志。 </p>
<p><strong>-threads</strong> </p>
<p style="MARGIN-LEFT: 21pt">显示目标进程中线程的信息。对于子线程，还会显示堆栈大小和由父线程指定的<strong>CreateThread</strong> 标志。 </p>
<p><em>ThreadID</em> </p>
<p style="MARGIN-LEFT: 21pt">指定要显示的线程ID。省略时显示所有线程。 </p>
<p><strong>-trace </strong><em>TraceIndex</em> </p>
<p style="MARGIN-LEFT: 21pt">显示指定的<em>TraceIndex</em> 的调用堆栈。一些结构用到了这个16位索引来标识调用堆栈。这个索引指向调用堆栈数据库(stack trace database)中的位置。如果正在分析这样的结构，那么这个选项非常有用。 </p>
<p><strong>-brk</strong> </p>
<p style="MARGIN-LEFT: 21pt">表明这是一个break-event命令。不带参数适用 <strong>!avrf -brk</strong> 时，会显示break event设置。可以在 文档的 "Requesting Breaks on Certain Events" 中查看示例。 </p>
<p><em>BreakEventType</em> </p>
<p style="MARGIN-LEFT: 21pt">指定break event 的type number 。查看Application Verifier 文档的"Requesting Breaks on Certain Events"获得可用type的列表。 </p>
<p><strong>-flt</strong> </p>
<p style="MARGIN-LEFT: 21pt">表示这是一个fault-injection 命令。不带参数使用<strong>!avrf &#8211;flt</strong>时，显示当前的fault injection 设置。查看Application Verifier 文档中的"Choosing Which Events to Fault"获得示例。 </p>
<p><em>EventType</em> </p>
<p style="MARGIN-LEFT: 21pt">指定event的type number。查看Application Verifier 文档中的"Choosing Which Events to Fault"获得可能的type的列表。 </p>
<p><em>Probability</em> </p>
<p style="MARGIN-LEFT: 21pt">指定该event将会失败的频率。可以是从0到100(0x64)之间的任意整数。 </p>
<p><strong>break</strong> </p>
<p style="MARGIN-LEFT: 21pt">让每次该fault 被inject时，Application Verifier 都中断到调试器中。这种中断的示例，查看Application Verifier 文档中的"Choosing Which Events to Fault"。 </p>
<p><strong>stacks</strong> </p>
<p style="MARGIN-LEFT: 21pt">显示最近一次fault-injected 操作的调用堆栈。查看Application Verifier 文档的"Choosing Which Events to Fault"获得示例。 </p>
<p><strong>-trg</strong> </p>
<p style="MARGIN-LEFT: 21pt">表明这是一个target range 命令。 不带参属使用 <strong>&#8211;trg</strong>时，显示当前的target range。详细信息查看Application Verifier 文档中的"Choosing Where to Fault"。 </p>
<p><strong>-skp</strong> </p>
<p style="MARGIN-LEFT: 21pt">表示这是一个exclusion range 命令。不带参数使用<strong>-trg</strong>时，显示当前的target range。详细信息查看Application Verifier 文档中的"Choosing Where to Fault"。 </p>
<p><em>Start</em> </p>
<p style="MARGIN-LEFT: 21pt">指定target range 或者exclusion range 的开始地址。 </p>
<p><em>End</em> </p>
<p style="MARGIN-LEFT: 21pt">指定target range 或者exclusion range 的结束地址。 </p>
<p><em>Module</em> </p>
<p style="MARGIN-LEFT: 21pt">指定要targeted 或者excluded 的模块名。<em>Module</em>是完整的模块名，包括<em>.exe</em> 或<em>.dll</em> 扩展名。不能含有路径信息。 </p>
<p><strong>all</strong> </p>
<p style="MARGIN-LEFT: 21pt">使得所有的target range或者exclusion range重置。 </p>
<p><em>Time</em> </p>
<p style="MARGIN-LEFT: 21pt">恢复执行后的<em>Time</em>毫秒内消除任何fault。 </p>
<h4>DLL </h4>
<div>
<table style="BORDER-COLLAPSE: collapse" border=0>
    <colgroup>
    <col style="WIDTH: 151px">
    <col style="WIDTH: 123px"></colgroup>
    <tbody vAlign=top>
        <tr>
            <td style="BORDER-RIGHT: black 0.5pt solid; PADDING-RIGHT: 7px; BORDER-TOP: black 0.5pt solid; PADDING-LEFT: 7px; BORDER-LEFT: black 0.5pt solid; BORDER-BOTTOM: black 0.5pt solid">
            <p><strong>Windows&nbsp;NT&nbsp;4.0</strong></p>
            </td>
            <td style="BORDER-RIGHT: black 0.5pt solid; PADDING-RIGHT: 7px; BORDER-TOP: black 0.5pt solid; PADDING-LEFT: 7px; BORDER-LEFT: medium none; BORDER-BOTTOM: black 0.5pt solid">
            <p>不可用</p>
            </td>
        </tr>
        <tr>
            <td style="BORDER-RIGHT: black 0.5pt solid; PADDING-RIGHT: 7px; BORDER-TOP: medium none; PADDING-LEFT: 7px; BORDER-LEFT: black 0.5pt solid; BORDER-BOTTOM: black 0.5pt solid">
            <p><strong>Windows&nbsp;2000</strong></p>
            </td>
            <td style="BORDER-RIGHT: black 0.5pt solid; PADDING-RIGHT: 7px; BORDER-TOP: medium none; PADDING-LEFT: 7px; BORDER-LEFT: medium none; BORDER-BOTTOM: black 0.5pt solid">
            <p>不可用</p>
            </td>
        </tr>
        <tr>
            <td style="BORDER-RIGHT: black 0.5pt solid; PADDING-RIGHT: 7px; BORDER-TOP: medium none; PADDING-LEFT: 7px; BORDER-LEFT: black 0.5pt solid; BORDER-BOTTOM: black 0.5pt solid">
            <p><strong>Windows&nbsp;XP和之后</strong></p>
            </td>
            <td style="BORDER-RIGHT: black 0.5pt solid; PADDING-RIGHT: 7px; BORDER-TOP: medium none; PADDING-LEFT: 7px; BORDER-LEFT: medium none; BORDER-BOTTOM: black 0.5pt solid">
            <p><em>Exts.dll</em></p>
            </td>
        </tr>
    </tbody>
</table>
</div>
<p>&nbsp;</p>
<h4>注释 </h4>
<p style="MARGIN-LEFT: 21pt">不带参数使用<strong>!avrf</strong> 扩展时，会显示当前的Application Verifier选项。如果已经启用了<strong>Full page heap</strong> 或者<strong>Fast fill heap</strong>选项，那么还会显示active page heap的信息。查看Application Verifier 文档中的 "Heap Operation Logs"获得示例。 </p>
<p style="MARGIN-LEFT: 21pt">如果发生了Application Verifier Stop，不带参数的<strong>!avrf</strong> 扩展会显示停止的类型以及原因。查看Application Verifier 文档中的"Debugging Application Verifier Stops" 获得示例。 </p>
<p style="MARGIN-LEFT: 21pt">如果没有<em>ntdll.dll</em> 和<em>verifier.dll</em> 的符号，那么<strong>!avrf</strong> 扩展会产生错误信息。关于如何定位这种问题的信息，查看Application Verifier 文档中的"Setting Up a Debugger for Application Verifier"。 </p>
<h4>附加信息 </h4>
<p style="MARGIN-LEFT: 21pt">关于如何下载和安装Application Verifier ，以及它的文档的信息，查看<a href="mk:@MSITStore:D:\Program%20Files\Debugging%20Tools%20for%20Windows\debugger.chm::/hh/Debugger/AppVerif2_437533d6-daa8-4fe9-90da-a7717ebc9683.xml.htm">Application Verifier</a>。 </p>
<h1>!critsec </h1>
<p><strong>!critsec</strong> 扩展命令显示某个临界区(critical section)。 </p>
<h4>语法 </h4>
<p style="BACKGROUND: #dddddd"><span style="FONT-FAMILY: Courier New"><strong>!critsec</strong>&nbsp;<em>Address</em>&nbsp;<br></span></p>
<h4>参数<span style="FONT-FAMILY: 宋体"> </span></h4>
<p><em>Address</em> </p>
<p style="MARGIN-LEFT: 21pt">指定临界区的16进制地址。 </p>
<h4>DLL </h4>
<div>
<table style="BORDER-COLLAPSE: collapse" border=0>
    <colgroup>
    <col style="WIDTH: 151px">
    <col style="WIDTH: 123px"></colgroup>
    <tbody vAlign=top>
        <tr>
            <td style="BORDER-RIGHT: black 0.5pt solid; PADDING-RIGHT: 7px; BORDER-TOP: black 0.5pt solid; PADDING-LEFT: 7px; BORDER-LEFT: black 0.5pt solid; BORDER-BOTTOM: black 0.5pt solid">
            <p><strong>Windows&nbsp;NT&nbsp;4.0</strong></p>
            </td>
            <td style="BORDER-RIGHT: black 0.5pt solid; PADDING-RIGHT: 7px; BORDER-TOP: black 0.5pt solid; PADDING-LEFT: 7px; BORDER-LEFT: medium none; BORDER-BOTTOM: black 0.5pt solid">
            <p><em>Ntsdexts.dll</em></p>
            </td>
        </tr>
        <tr>
            <td style="BORDER-RIGHT: black 0.5pt solid; PADDING-RIGHT: 7px; BORDER-TOP: medium none; PADDING-LEFT: 7px; BORDER-LEFT: black 0.5pt solid; BORDER-BOTTOM: black 0.5pt solid">
            <p><strong>Windows&nbsp;2000</strong></p>
            </td>
            <td style="BORDER-RIGHT: black 0.5pt solid; PADDING-RIGHT: 7px; BORDER-TOP: medium none; PADDING-LEFT: 7px; BORDER-LEFT: medium none; BORDER-BOTTOM: black 0.5pt solid">
            <p><em>Ntsdexts.dll</em></p>
            </td>
        </tr>
        <tr>
            <td style="BORDER-RIGHT: black 0.5pt solid; PADDING-RIGHT: 7px; BORDER-TOP: medium none; PADDING-LEFT: 7px; BORDER-LEFT: black 0.5pt solid; BORDER-BOTTOM: black 0.5pt solid">
            <p><strong>Windows&nbsp;XP和之后</strong></p>
            </td>
            <td style="BORDER-RIGHT: black 0.5pt solid; PADDING-RIGHT: 7px; BORDER-TOP: medium none; PADDING-LEFT: 7px; BORDER-LEFT: medium none; BORDER-BOTTOM: black 0.5pt solid">
            <p><em>Ntsdexts.dll</em></p>
            </td>
        </tr>
    </tbody>
</table>
</div>
<h4>注释 </h4>
<p style="MARGIN-LEFT: 21pt">如果不知道该临界区的地址，可以使用<a href="mk:@MSITStore:D:\Program%20Files\Debugging%20Tools%20for%20Windows\debugger.chm::/hh/Debugger/r31_exts_user_719ca52d-1eb4-4877-a644-4f6eff6f94dc.xml.htm"><strong>!ntsdexts.locks</strong></a> 扩展。它会显示由调用<strong>RtlInitializeCriticalSection</strong> 来初始化的所有临界区。 </p>
<p style="MARGIN-LEFT: 21pt">下面是示例： </p>
<p style="MARGIN-LEFT: 21pt"><span style="COLOR: #660000; FONT-FAMILY: Courier New">0:000&gt;&nbsp;<strong>!critsec&nbsp;3a8c0e9c</strong><br><br>CritSec&nbsp;+3a8c0e9c&nbsp;at&nbsp;3A8C0E9C<br>LockCount&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1<br>RecursionCount&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1<br>OwningThread&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;99<br>EntryCount&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;472<br>ContentionCount&nbsp;&nbsp;&nbsp;&nbsp;1<br>***&nbsp;Locked<br><br></span></p>
<h4>附加信息<span style="FONT-FAMILY: 宋体"> </span></h4>
<p style="MARGIN-LEFT: 21pt">关于其他可以显示临界区信息的命令，查看<a href="mk:@MSITStore:D:\Program%20Files\Debugging%20Tools%20for%20Windows\debugger.chm::/hh/Debugger/t01_basic_0696c252-05c6-4f6f-b4c9-ad087b22de2b.xml.htm">显示临界区</a>。关于临界区的信息，查看Microsoft Windows SDK文档、Windows Driver Kit (WDK) 文档，以及Mark Russinovich 和David Solomon<em> </em>编写的<em>Microsoft Windows Internals</em>。 </p>
<h1>!dp (!ntsdexts.dp) </h1>
<p><em>Ntsdexts.dll</em>中的<strong>!dp</strong> 扩展命令显示一个CSR进程。 </p>
<p>不要将该命令和<a href="mk:@MSITStore:D:\Program%20Files\Debugging%20Tools%20for%20Windows\debugger.chm::/hh/Debugger/r16_cmds_c_eddd6afa-a4e9-49c7-8752-7005aca29a84.xml.htm"><strong>dp&nbsp;(Display Memory)</strong></a> 命令或者 <a href="mk:@MSITStore:D:\Program%20Files\Debugging%20Tools%20for%20Windows\debugger.chm::/hh/Debugger/r26_exts_kernel_a_cfc39aa4-b8b1-4ff0-b867-3f0a6b9a1c82.xml.htm"><strong>!kdext*.dp</strong></a>扩展命令混淆。 </p>
<h4>语法 </h4>
<p style="BACKGROUND: #dddddd"><span style="FONT-FAMILY: Courier New"><strong>!dp</strong>&nbsp;[<strong>v</strong>]&nbsp;[&nbsp;<em>PID</em>&nbsp;|&nbsp;<em>CSR-Process</em>&nbsp;]<br></span></p>
<h4>参数<span style="FONT-FAMILY: 宋体"> </span></h4>
<p><strong>v</strong> </p>
<p style="MARGIN-LEFT: 21pt">详细模式。显示中包含结构和线程列表。 </p>
<p><em>PID</em> </p>
<p style="MARGIN-LEFT: 21pt">指定CSR进程的进程ID。 </p>
<p><em>CSR-Process</em> </p>
<p style="MARGIN-LEFT: 21pt">指定CSR进程的16进制地址。 </p>
<h4>DLL </h4>
<div>
<table style="BORDER-COLLAPSE: collapse" border=0>
    <colgroup>
    <col style="WIDTH: 151px">
    <col style="WIDTH: 123px"></colgroup>
    <tbody vAlign=top>
        <tr>
            <td style="BORDER-RIGHT: black 0.5pt solid; PADDING-RIGHT: 7px; BORDER-TOP: black 0.5pt solid; PADDING-LEFT: 7px; BORDER-LEFT: black 0.5pt solid; BORDER-BOTTOM: black 0.5pt solid">
            <p><strong>Windows&nbsp;NT&nbsp;4.0</strong></p>
            </td>
            <td style="BORDER-RIGHT: black 0.5pt solid; PADDING-RIGHT: 7px; BORDER-TOP: black 0.5pt solid; PADDING-LEFT: 7px; BORDER-LEFT: medium none; BORDER-BOTTOM: black 0.5pt solid">
            <p><em>Ntsdexts.dll</em></p>
            </td>
        </tr>
        <tr>
            <td style="BORDER-RIGHT: black 0.5pt solid; PADDING-RIGHT: 7px; BORDER-TOP: medium none; PADDING-LEFT: 7px; BORDER-LEFT: black 0.5pt solid; BORDER-BOTTOM: black 0.5pt solid">
            <p><strong>Windows&nbsp;2000</strong></p>
            </td>
            <td style="BORDER-RIGHT: black 0.5pt solid; PADDING-RIGHT: 7px; BORDER-TOP: medium none; PADDING-LEFT: 7px; BORDER-LEFT: medium none; BORDER-BOTTOM: black 0.5pt solid">
            <p><em>Ntsdexts.dll</em></p>
            </td>
        </tr>
        <tr>
            <td style="BORDER-RIGHT: black 0.5pt solid; PADDING-RIGHT: 7px; BORDER-TOP: medium none; PADDING-LEFT: 7px; BORDER-LEFT: black 0.5pt solid; BORDER-BOTTOM: black 0.5pt solid">
            <p><strong>Windows&nbsp;XP和之后</strong></p>
            </td>
            <td style="BORDER-RIGHT: black 0.5pt solid; PADDING-RIGHT: 7px; BORDER-TOP: medium none; PADDING-LEFT: 7px; BORDER-LEFT: medium none; BORDER-BOTTOM: black 0.5pt solid">
            <p><em>Ntsdexts.dll</em></p>
            </td>
        </tr>
    </tbody>
</table>
</div>
<h4>注释 </h4>
<p style="MARGIN-LEFT: 21pt">该命令会显示进程地址、进程ID、序号(sequence number)、标志(flags)和引用计数。如果选择了详细模式，还会显示更多细节以及每个进程的线程信息。 </p>
<p style="MARGIN-LEFT: 21pt">如果没有指定进程，则会显示所有进程。 </p>
<h4>参见 </h4>
<p style="MARGIN-LEFT: 21pt"><a href="mk:@MSITStore:D:\Program%20Files\Debugging%20Tools%20for%20Windows\debugger.chm::/hh/Debugger/r31_exts_user_021363b5-37d4-4d44-b957-bd2a38d4691f.xml.htm"><strong>!dt</strong></a> </p>
<h1>!dphdump </h1>
<p><strong>!dphdump</strong> 扩展命令显示debug page heap。 </p>
<h4>语法 </h4>
<p style="BACKGROUND: #dddddd"><span style="FONT-FAMILY: Courier New"><strong>!dphdump</strong>&nbsp;<em>Address</em>&nbsp;<br></span></p>
<h4>参数<span style="FONT-FAMILY: 宋体"> </span></h4>
<p><em>Address</em> </p>
<p style="MARGIN-LEFT: 21pt">指定堆的基地址或者堆句柄。 </p>
<h4>DLL </h4>
<div>
<table style="BORDER-COLLAPSE: collapse" border=0>
    <colgroup>
    <col style="WIDTH: 151px">
    <col style="WIDTH: 123px"></colgroup>
    <tbody vAlign=top>
        <tr>
            <td style="BORDER-RIGHT: black 0.5pt solid; PADDING-RIGHT: 7px; BORDER-TOP: black 0.5pt solid; PADDING-LEFT: 7px; BORDER-LEFT: black 0.5pt solid; BORDER-BOTTOM: black 0.5pt solid">
            <p><strong>Windows&nbsp;NT&nbsp;4.0</strong></p>
            </td>
            <td style="BORDER-RIGHT: black 0.5pt solid; PADDING-RIGHT: 7px; BORDER-TOP: black 0.5pt solid; PADDING-LEFT: 7px; BORDER-LEFT: medium none; BORDER-BOTTOM: black 0.5pt solid">
            <p><em>Ntsdexts.dll</em></p>
            </td>
        </tr>
        <tr>
            <td style="BORDER-RIGHT: black 0.5pt solid; PADDING-RIGHT: 7px; BORDER-TOP: medium none; PADDING-LEFT: 7px; BORDER-LEFT: black 0.5pt solid; BORDER-BOTTOM: black 0.5pt solid">
            <p><strong>Windows&nbsp;2000</strong></p>
            </td>
            <td style="BORDER-RIGHT: black 0.5pt solid; PADDING-RIGHT: 7px; BORDER-TOP: medium none; PADDING-LEFT: 7px; BORDER-LEFT: medium none; BORDER-BOTTOM: black 0.5pt solid">
            <p>不可用</p>
            </td>
        </tr>
        <tr>
            <td style="BORDER-RIGHT: black 0.5pt solid; PADDING-RIGHT: 7px; BORDER-TOP: medium none; PADDING-LEFT: 7px; BORDER-LEFT: black 0.5pt solid; BORDER-BOTTOM: black 0.5pt solid">
            <p><strong>Windows&nbsp;XP和之后</strong></p>
            </td>
            <td style="BORDER-RIGHT: black 0.5pt solid; PADDING-RIGHT: 7px; BORDER-TOP: medium none; PADDING-LEFT: 7px; BORDER-LEFT: medium none; BORDER-BOTTOM: black 0.5pt solid">
            <p>不可用</p>
            </td>
        </tr>
    </tbody>
</table>
</div>
<h4>注释 </h4>
<p style="MARGIN-LEFT: 21pt">如果在Windows 2000(Service Pack 1或之后)、Windows XP或之后版本Windows中查看page heap，应该使用<a href="mk:@MSITStore:D:\Program%20Files\Debugging%20Tools%20for%20Windows\debugger.chm::/hh/Debugger/r25_exts_general_he_6f575a41-220b-4f5d-b82b-a4d7ed3a79bf.xml.htm"><strong>!heap</strong></a> 扩展命令。 </p>
<h4>参见 </h4>
<p style="MARGIN-LEFT: 21pt"><a href="mk:@MSITStore:D:\Program%20Files\Debugging%20Tools%20for%20Windows\debugger.chm::/hh/Debugger/r31_exts_user_3fb6eb8f-dbcc-45c6-8bf4-2f296a950336.xml.htm"><strong>!dphfind</strong></a>, <a href="mk:@MSITStore:D:\Program%20Files\Debugging%20Tools%20for%20Windows\debugger.chm::/hh/Debugger/r31_exts_user_09471dd7-d747-4549-a22c-a8f2142886e3.xml.htm"><strong>!dphflags</strong></a>, <a href="mk:@MSITStore:D:\Program%20Files\Debugging%20Tools%20for%20Windows\debugger.chm::/hh/Debugger/r31_exts_user_04543a6d-7f11-4c7b-909d-6c831f74c6d2.xml.htm"><strong>!dphhogs</strong></a> </p>
<h1>!dphfind </h1>
<p><strong>!dphfind</strong> 扩展命令查找包含指定地址的debug page heap。 </p>
<h4>语法 </h4>
<p style="BACKGROUND: #dddddd"><span style="FONT-FAMILY: Courier New"><strong>!dphfind</strong>&nbsp;<em>Address</em>&nbsp;<br></span></p>
<h4>参数<span style="FONT-FAMILY: 宋体"> </span></h4>
<p><em>Address</em> </p>
<p style="MARGIN-LEFT: 21pt">指定debug page heap必须包含的16进制地址。 </p>
<h4>DLL </h4>
<div>
<table style="BORDER-COLLAPSE: collapse" border=0>
    <colgroup>
    <col style="WIDTH: 151px">
    <col style="WIDTH: 123px"></colgroup>
    <tbody vAlign=top>
        <tr>
            <td style="BORDER-RIGHT: black 0.5pt solid; PADDING-RIGHT: 7px; BORDER-TOP: black 0.5pt solid; PADDING-LEFT: 7px; BORDER-LEFT: black 0.5pt solid; BORDER-BOTTOM: black 0.5pt solid">
            <p><strong>Windows&nbsp;NT&nbsp;4.0</strong></p>
            </td>
            <td style="BORDER-RIGHT: black 0.5pt solid; PADDING-RIGHT: 7px; BORDER-TOP: black 0.5pt solid; PADDING-LEFT: 7px; BORDER-LEFT: medium none; BORDER-BOTTOM: black 0.5pt solid">
            <p><em>Ntsdexts.dll</em></p>
            </td>
        </tr>
        <tr>
            <td style="BORDER-RIGHT: black 0.5pt solid; PADDING-RIGHT: 7px; BORDER-TOP: medium none; PADDING-LEFT: 7px; BORDER-LEFT: black 0.5pt solid; BORDER-BOTTOM: black 0.5pt solid">
            <p><strong>Windows&nbsp;2000</strong></p>
            </td>
            <td style="BORDER-RIGHT: black 0.5pt solid; PADDING-RIGHT: 7px; BORDER-TOP: medium none; PADDING-LEFT: 7px; BORDER-LEFT: medium none; BORDER-BOTTOM: black 0.5pt solid">
            <p>不可用</p>
            </td>
        </tr>
        <tr>
            <td style="BORDER-RIGHT: black 0.5pt solid; PADDING-RIGHT: 7px; BORDER-TOP: medium none; PADDING-LEFT: 7px; BORDER-LEFT: black 0.5pt solid; BORDER-BOTTOM: black 0.5pt solid">
            <p><strong>Windows&nbsp;XP和之后</strong></p>
            </td>
            <td style="BORDER-RIGHT: black 0.5pt solid; PADDING-RIGHT: 7px; BORDER-TOP: medium none; PADDING-LEFT: 7px; BORDER-LEFT: medium none; BORDER-BOTTOM: black 0.5pt solid">
            <p>不可用</p>
            </td>
        </tr>
    </tbody>
</table>
</div>
<h4>注释 </h4>
<p style="MARGIN-LEFT: 21pt"><em>Address</em>一般是应用程序尝试访问从debug page heap中分配的内存时出错的地址。 </p>
<p style="MARGIN-LEFT: 21pt">如果在Windows 2000(Service Pack 1或之后)、Windows XP或之后版本Windows中查看page heap，应该使用<a href="mk:@MSITStore:D:\Program%20Files\Debugging%20Tools%20for%20Windows\debugger.chm::/hh/Debugger/r25_exts_general_he_6f575a41-220b-4f5d-b82b-a4d7ed3a79bf.xml.htm"><strong>!heap</strong></a> 扩展命令。 </p>
<h4>参见 </h4>
<p style="MARGIN-LEFT: 21pt"><a href="mk:@MSITStore:D:\Program%20Files\Debugging%20Tools%20for%20Windows\debugger.chm::/hh/Debugger/r31_exts_user_7572fbd6-3708-44b4-a666-60e6eb8e7319.xml.htm"><strong>!dphdump</strong></a>, <a href="mk:@MSITStore:D:\Program%20Files\Debugging%20Tools%20for%20Windows\debugger.chm::/hh/Debugger/r31_exts_user_09471dd7-d747-4549-a22c-a8f2142886e3.xml.htm"><strong>!dphflags</strong></a>, <a href="mk:@MSITStore:D:\Program%20Files\Debugging%20Tools%20for%20Windows\debugger.chm::/hh/Debugger/r31_exts_user_04543a6d-7f11-4c7b-909d-6c831f74c6d2.xml.htm"><strong>!dphhogs</strong></a> </p>
<h1>!dphflags </h1>
<p><strong>!dphflags</strong> 扩展命令显示或设置global page heap flags。 </p>
<h4>语法 </h4>
<p style="BACKGROUND: #dddddd"><span style="FONT-FAMILY: Courier New"><strong>!dphflags</strong>&nbsp;[<em>FLAGS</em>]&nbsp;<br></span></p>
<h4>参数<span style="FONT-FAMILY: 宋体"> </span></h4>
<p><em>FLAGS</em> </p>
<p style="MARGIN-LEFT: 21pt">可以是下面这些位的任意组合： </p>
<p style="MARGIN-LEFT: 21pt">Bit 0 (0x1) </p>
<p style="MARGIN-LEFT: 21pt">使得调试器启用page heap。(99%的情况下都会希望设置这一位。如果为0，则使用标准堆。) </p>
<p style="MARGIN-LEFT: 21pt">Bit 1 (0x2) </p>
<p style="MARGIN-LEFT: 21pt">使得调试器搜集调用堆栈。(一般只在checked build上面才会设置。) </p>
<p style="MARGIN-LEFT: 21pt">Bit 2 (0x4) </p>
<p style="MARGIN-LEFT: 21pt">让调试器最小化对内存的影响。 </p>
<p style="MARGIN-LEFT: 21pt">Bit 3 (0x8) </p>
<p style="MARGIN-LEFT: 21pt">指定最小化(minimization)方法。如果设置了这一位，最小化是随机进行的。如果为0，则基于大小范围(size range)进行最小化。(如果没有设置bit 2(0x4)，则这个设置被忽略。) </p>
<p style="MARGIN-LEFT: 21pt">Bit 4 (0x10) </p>
<p style="MARGIN-LEFT: 21pt">让调试器捕获反向溢出(backward overrun)。 </p>
<p style="MARGIN-LEFT: 21pt">Bits 15 to 8 </p>
<p style="MARGIN-LEFT: 21pt">指定可用内存的百分比(相对于总内存)，低于可以从标准堆中进行分配的大小。仅当设置了bit 2(0x4)时起效。 </p>
<p style="MARGIN-LEFT: 21pt">Bits 31 to 16 </p>
<p style="MARGIN-LEFT: 21pt">指定在page heap中分配的机率。只有当bit 2(0x4)和bit 3(0x8)设置时起效。需要指定两个大小：小一点的位于bit 31到bit 24，大一点的在bit 23到bit 16。大小处于这两个值之间的内存分配将从page heap中分配。 </p>
<h4>DLL </h4>
<div>
<table style="BORDER-COLLAPSE: collapse" border=0>
    <colgroup>
    <col style="WIDTH: 151px">
    <col style="WIDTH: 123px"></colgroup>
    <tbody vAlign=top>
        <tr>
            <td style="BORDER-RIGHT: black 0.5pt solid; PADDING-RIGHT: 7px; BORDER-TOP: black 0.5pt solid; PADDING-LEFT: 7px; BORDER-LEFT: black 0.5pt solid; BORDER-BOTTOM: black 0.5pt solid">
            <p><strong>Windows&nbsp;NT&nbsp;4.0</strong></p>
            </td>
            <td style="BORDER-RIGHT: black 0.5pt solid; PADDING-RIGHT: 7px; BORDER-TOP: black 0.5pt solid; PADDING-LEFT: 7px; BORDER-LEFT: medium none; BORDER-BOTTOM: black 0.5pt solid">
            <p><em>Ntsdexts.dll</em></p>
            </td>
        </tr>
        <tr>
            <td style="BORDER-RIGHT: black 0.5pt solid; PADDING-RIGHT: 7px; BORDER-TOP: medium none; PADDING-LEFT: 7px; BORDER-LEFT: black 0.5pt solid; BORDER-BOTTOM: black 0.5pt solid">
            <p><strong>Windows&nbsp;2000</strong></p>
            </td>
            <td style="BORDER-RIGHT: black 0.5pt solid; PADDING-RIGHT: 7px; BORDER-TOP: medium none; PADDING-LEFT: 7px; BORDER-LEFT: medium none; BORDER-BOTTOM: black 0.5pt solid">
            <p>不可用</p>
            </td>
        </tr>
        <tr>
            <td style="BORDER-RIGHT: black 0.5pt solid; PADDING-RIGHT: 7px; BORDER-TOP: medium none; PADDING-LEFT: 7px; BORDER-LEFT: black 0.5pt solid; BORDER-BOTTOM: black 0.5pt solid">
            <p><strong>Windows&nbsp;XP和之后</strong></p>
            </td>
            <td style="BORDER-RIGHT: black 0.5pt solid; PADDING-RIGHT: 7px; BORDER-TOP: medium none; PADDING-LEFT: 7px; BORDER-LEFT: medium none; BORDER-BOTTOM: black 0.5pt solid">
            <p>不可用</p>
            </td>
        </tr>
    </tbody>
</table>
</div>
<h4>注释 </h4>
<p style="MARGIN-LEFT: 21pt">如果在Windows 2000(Service Pack 1或之后)、Windows XP或之后版本Windows中查看page heap，应该使用<a href="mk:@MSITStore:D:\Program%20Files\Debugging%20Tools%20for%20Windows\debugger.chm::/hh/Debugger/r25_exts_general_he_6f575a41-220b-4f5d-b82b-a4d7ed3a79bf.xml.htm"><strong>!heap</strong></a> 扩展命令。 </p>
<p style="MARGIN-LEFT: 21pt">这里有一些示例。下面的命令在free build上启用调用堆栈的搜集。(默认情况下不会)： </p>
<p style="MARGIN-LEFT: 21pt"><span style="COLOR: #660000; FONT-FAMILY: Courier New"><strong>!dphflags&nbsp;0x03</strong><br><br></span></p>
<p style="MARGIN-LEFT: 21pt">下面的命令将不可访问的页面放到分配(allocation)的开始位置。并且启用调用堆栈的跟踪：<span style="FONT-FAMILY: 宋体"> </span></p>
<p style="MARGIN-LEFT: 21pt"><span style="COLOR: #660000; FONT-FAMILY: Courier New"><strong>!dphflags&nbsp;0x13</strong><br><br></span></p>
<p style="MARGIN-LEFT: 21pt">下面的命令使得有48%可能性从page heap中分配。同样，如果可用内存低于48%，则所有分配都会从标准堆中进行：<span style="FONT-FAMILY: 宋体"> </span></p>
<p style="MARGIN-LEFT: 21pt"><span style="COLOR: #660000; FONT-FAMILY: Courier New"><strong>!dphflags&nbsp;0x3000300F</strong><br><br></span></p>
<h4>参见<span style="FONT-FAMILY: 宋体"> </span></h4>
<p style="MARGIN-LEFT: 21pt"><a href="mk:@MSITStore:D:\Program%20Files\Debugging%20Tools%20for%20Windows\debugger.chm::/hh/Debugger/r31_exts_user_7572fbd6-3708-44b4-a666-60e6eb8e7319.xml.htm"><strong>!dphdump</strong></a>, <a href="mk:@MSITStore:D:\Program%20Files\Debugging%20Tools%20for%20Windows\debugger.chm::/hh/Debugger/r31_exts_user_3fb6eb8f-dbcc-45c6-8bf4-2f296a950336.xml.htm"><strong>!dphfind</strong></a>, <a href="mk:@MSITStore:D:\Program%20Files\Debugging%20Tools%20for%20Windows\debugger.chm::/hh/Debugger/r31_exts_user_04543a6d-7f11-4c7b-909d-6c831f74c6d2.xml.htm"><strong>!dphhogs</strong></a> </p>
<h1>!dphhogs </h1>
<p><strong>!dphhogs</strong> 扩展用于显示debug page heap hogs。 </p>
<h4>语法 </h4>
<p style="BACKGROUND: #dddddd"><span style="FONT-FAMILY: Courier New"><strong>!dphhogs</strong>&nbsp;<em>Address</em>&nbsp;[<strong>count</strong>]&nbsp;[<strong>reset</strong>]&nbsp;<br></span></p>
<h4>参数<span style="FONT-FAMILY: 宋体"> </span></h4>
<p><em>Address</em> </p>
<p style="MARGIN-LEFT: 21pt">指定堆的基地址或者堆句柄。 </p>
<p><strong>count</strong> </p>
<p style="MARGIN-LEFT: 21pt">列表按照count来排序(而不是按字节)。 </p>
<p><strong>reset</strong> </p>
<p style="MARGIN-LEFT: 21pt">所有的allocation counts重置为0。 </p>
<h4>DLL </h4>
<div>
<table style="BORDER-COLLAPSE: collapse" border=0>
    <colgroup>
    <col style="WIDTH: 151px">
    <col style="WIDTH: 123px"></colgroup>
    <tbody vAlign=top>
        <tr>
            <td style="BORDER-RIGHT: black 0.5pt solid; PADDING-RIGHT: 7px; BORDER-TOP: black 0.5pt solid; PADDING-LEFT: 7px; BORDER-LEFT: black 0.5pt solid; BORDER-BOTTOM: black 0.5pt solid">
            <p><strong>Windows&nbsp;NT&nbsp;4.0</strong></p>
            </td>
            <td style="BORDER-RIGHT: black 0.5pt solid; PADDING-RIGHT: 7px; BORDER-TOP: black 0.5pt solid; PADDING-LEFT: 7px; BORDER-LEFT: medium none; BORDER-BOTTOM: black 0.5pt solid">
            <p><em>Ntsdexts.dll</em></p>
            </td>
        </tr>
        <tr>
            <td style="BORDER-RIGHT: black 0.5pt solid; PADDING-RIGHT: 7px; BORDER-TOP: medium none; PADDING-LEFT: 7px; BORDER-LEFT: black 0.5pt solid; BORDER-BOTTOM: black 0.5pt solid">
            <p><strong>Windows&nbsp;2000</strong></p>
            </td>
            <td style="BORDER-RIGHT: black 0.5pt solid; PADDING-RIGHT: 7px; BORDER-TOP: medium none; PADDING-LEFT: 7px; BORDER-LEFT: medium none; BORDER-BOTTOM: black 0.5pt solid">
            <p>不可用</p>
            </td>
        </tr>
        <tr>
            <td style="BORDER-RIGHT: black 0.5pt solid; PADDING-RIGHT: 7px; BORDER-TOP: medium none; PADDING-LEFT: 7px; BORDER-LEFT: black 0.5pt solid; BORDER-BOTTOM: black 0.5pt solid">
            <p><strong>Windows&nbsp;XP和之后</strong></p>
            </td>
            <td style="BORDER-RIGHT: black 0.5pt solid; PADDING-RIGHT: 7px; BORDER-TOP: medium none; PADDING-LEFT: 7px; BORDER-LEFT: medium none; BORDER-BOTTOM: black 0.5pt solid">
            <p>不可用</p>
            </td>
        </tr>
    </tbody>
</table>
</div>
<h4>注释 </h4>
<p style="MARGIN-LEFT: 21pt">这个命令只能用于运行在x86处理器上的checked版本Windows NT 4.0。 </p>
<p style="MARGIN-LEFT: 21pt">如果在Windows 2000(Service Pack 1或之后)、Windows XP或之后版本Windows中查看page heap，应该使用<a href="mk:@MSITStore:D:\Program%20Files\Debugging%20Tools%20for%20Windows\debugger.chm::/hh/Debugger/r25_exts_general_he_6f575a41-220b-4f5d-b82b-a4d7ed3a79bf.xml.htm"><strong>!heap</strong></a> 扩展命令。 </p>
<h4>参见 </h4>
<p style="MARGIN-LEFT: 21pt"><a href="mk:@MSITStore:D:\Program%20Files\Debugging%20Tools%20for%20Windows\debugger.chm::/hh/Debugger/r31_exts_user_7572fbd6-3708-44b4-a666-60e6eb8e7319.xml.htm"><strong>!dphdump</strong></a>, <a href="mk:@MSITStore:D:\Program%20Files\Debugging%20Tools%20for%20Windows\debugger.chm::/hh/Debugger/r31_exts_user_3fb6eb8f-dbcc-45c6-8bf4-2f296a950336.xml.htm"><strong>!dphfind</strong></a>, <a href="mk:@MSITStore:D:\Program%20Files\Debugging%20Tools%20for%20Windows\debugger.chm::/hh/Debugger/r31_exts_user_09471dd7-d747-4549-a22c-a8f2142886e3.xml.htm"><strong>!dphflags</strong></a> </p>
<h1>!dreg </h1>
<p><strong>!dreg</strong> 扩展命令显示注册表信息。 </p>
<h4>语法 </h4>
<p style="BACKGROUND: #dddddd"><span style="FONT-FAMILY: Courier New"><strong>!dreg</strong>&nbsp;[<strong>-d</strong>|<strong>-w</strong>]&nbsp;<em>KeyPath</em>[<strong>!</strong><em>Value</em>]&nbsp;<br><strong>!dreg</strong>&nbsp;<br></span></p>
<h4>参数<span style="FONT-FAMILY: 宋体"> </span></h4>
<p><strong>-d</strong> </p>
<p style="MARGIN-LEFT: 21pt">二进制数据显示为DWORD。 </p>
<p><strong>-w</strong> </p>
<p style="MARGIN-LEFT: 21pt">二进制数据显示为WORD。 </p>
<p><em>KeyPath</em> </p>
<p style="MARGIN-LEFT: 21pt">指定注册表路径。可以使用下面这些缩写： </p>
<p style="MARGIN-LEFT: 21pt"><strong>hklm</strong> </p>
<p style="MARGIN-LEFT: 21pt">HKEY_LOCAL_MACHINE </p>
<p style="MARGIN-LEFT: 21pt"><strong>hkcu</strong> </p>
<p style="MARGIN-LEFT: 21pt">HKEY_CURRENT_USER </p>
<p style="MARGIN-LEFT: 21pt"><strong>hkcr</strong> </p>
<p style="MARGIN-LEFT: 21pt">HKEY_CLASSES_ROOT </p>
<p style="MARGIN-LEFT: 21pt"><strong>hku</strong> </p>
<p style="MARGIN-LEFT: 21pt">HKEY_USERS </p>
<p style="MARGIN-LEFT: 21pt">如果没有使用缩写，则假定使用HKEY_LOCAL_MACHINE。 </p>
<p><em>Value</em> </p>
<p style="MARGIN-LEFT: 21pt">指定要显示的注册表值。星号(<strong>*</strong>)可以代表任何值。如果省略<em>Value</em>，则显示所有子键。 </p>
<h4>DLL </h4>
<div>
<table style="BORDER-COLLAPSE: collapse" border=0>
    <colgroup>
    <col style="WIDTH: 151px">
    <col style="WIDTH: 123px"></colgroup>
    <tbody vAlign=top>
        <tr>
            <td style="BORDER-RIGHT: black 0.5pt solid; PADDING-RIGHT: 7px; BORDER-TOP: black 0.5pt solid; PADDING-LEFT: 7px; BORDER-LEFT: black 0.5pt solid; BORDER-BOTTOM: black 0.5pt solid">
            <p><strong>Windows&nbsp;NT&nbsp;4.0</strong></p>
            </td>
            <td style="BORDER-RIGHT: black 0.5pt solid; PADDING-RIGHT: 7px; BORDER-TOP: black 0.5pt solid; PADDING-LEFT: 7px; BORDER-LEFT: medium none; BORDER-BOTTOM: black 0.5pt solid">
            <p>不可用</p>
            </td>
        </tr>
        <tr>
            <td style="BORDER-RIGHT: black 0.5pt solid; PADDING-RIGHT: 7px; BORDER-TOP: medium none; PADDING-LEFT: 7px; BORDER-LEFT: black 0.5pt solid; BORDER-BOTTOM: black 0.5pt solid">
            <p><strong>Windows&nbsp;2000</strong></p>
            </td>
            <td style="BORDER-RIGHT: black 0.5pt solid; PADDING-RIGHT: 7px; BORDER-TOP: medium none; PADDING-LEFT: 7px; BORDER-LEFT: medium none; BORDER-BOTTOM: black 0.5pt solid">
            <p><em>Ntsdexts.dll</em></p>
            </td>
        </tr>
        <tr>
            <td style="BORDER-RIGHT: black 0.5pt solid; PADDING-RIGHT: 7px; BORDER-TOP: medium none; PADDING-LEFT: 7px; BORDER-LEFT: black 0.5pt solid; BORDER-BOTTOM: black 0.5pt solid">
            <p><strong>Windows&nbsp;XP和之后</strong></p>
            </td>
            <td style="BORDER-RIGHT: black 0.5pt solid; PADDING-RIGHT: 7px; BORDER-TOP: medium none; PADDING-LEFT: 7px; BORDER-LEFT: medium none; BORDER-BOTTOM: black 0.5pt solid">
            <p><em>Ntsdexts.dll</em></p>
            </td>
        </tr>
    </tbody>
</table>
</div>
<h4>注释 </h4>
<p style="MARGIN-LEFT: 21pt"><strong>!dreg</strong> 扩展用于在用户模式调试时显示注册表。 </p>
<p style="MARGIN-LEFT: 21pt">在远程调试时由于可以查看远程机器的注册表，所以非常有用。从内核调试器控制用户模式调试器时也很有用，因为目标机冻结的时候是不能运行标准的注册表编辑器的。(这时也可以使用<strong>.sleep</strong> 命令。查看<a href="mk:@MSITStore:D:\Program%20Files\Debugging%20Tools%20for%20Windows\debugger.chm::/hh/Debugger/r05_use_start_9fcf66d7-d72a-4b94-a1e6-e65a95e688f7.xml.htm">从内核调试器控制用户模式调试器</a>获得详细信息。) </p>
<p style="MARGIN-LEFT: 21pt">由于信息是按照容易阅读的格式显示的，所以本地调试时也有用。 </p>
<p style="MARGIN-LEFT: 21pt">如果在内核模式调试时使用<strong>!dreg</strong>结果显示的是主控机上面的，而不是目标机上的。要显示目标机上的原始注册表信息，可以使用<a href="mk:@MSITStore:D:\Program%20Files\Debugging%20Tools%20for%20Windows\debugger.chm::/hh/Debugger/r29_exts_kernel_q_a0d5a48c-9f77-4373-8153-d3dd26dd8337.xml.htm"><strong>!reg</strong></a>扩展命令来替代。. </p>
<p style="MARGIN-LEFT: 21pt">这里有一些示例。下面这个显示指定的注册表键下面所有子键： </p>
<p style="MARGIN-LEFT: 21pt"><span style="COLOR: #660000; FONT-FAMILY: Courier New"><strong>!dreg&nbsp;hkcu\Software\Microsoft</strong><br><br></span></p>
<p style="MARGIN-LEFT: 21pt">下面显示指定的注册表键下面所有值：<span style="FONT-FAMILY: 宋体"> </span></p>
<p style="MARGIN-LEFT: 21pt"><span style="COLOR: #660000; FONT-FAMILY: Courier New"><strong>!dreg&nbsp;System\CurrentControlSet\Services\Tcpip!*</strong><br><br></span></p>
<p style="MARGIN-LEFT: 21pt">这条命令显示指定的注册表键下面的Start键值：<span style="FONT-FAMILY: 宋体"> </span></p>
<p style="MARGIN-LEFT: 21pt"><span style="COLOR: #660000; FONT-FAMILY: Courier New"><strong>!dreg&nbsp;System\CurrentControlSet\Services\Tcpip!Start</strong><br><br></span></p>
<p style="MARGIN-LEFT: 21pt">不带参数使用<strong>!dreg</strong> 会在调试器命令窗口中显示该命令的简单帮助。<span style="FONT-FAMILY: 宋体"> </span></p>
<h4>附加信息 </h4>
<p style="MARGIN-LEFT: 21pt">关于注册表的信息，查看Windows Driver Kit (WDK) 文档，以及Mark Russinovich 和David Solomon<em> </em>编写的<em>Microsoft Windows Internals</em>。 </p>
<h1>!dt </h1>
<p><strong>!dt</strong> 扩展命令显示某个CSR线程的信息。 </p>
<p>该命令不能和<a href="mk:@MSITStore:D:\Program%20Files\Debugging%20Tools%20for%20Windows\debugger.chm::/hh/Debugger/r16_cmds_c_94727332-6184-4ced-897b-d358ca7c173d.xml.htm"><strong>dt&nbsp;(Display Type)</strong></a>命令混淆。 </p>
<h4>语法 </h4>
<p style="BACKGROUND: #dddddd"><span style="FONT-FAMILY: Courier New"><strong>!dt</strong>&nbsp;[<strong>v</strong>]&nbsp;<em>CSR-Thread</em>&nbsp;<br></span></p>
<h4>参数<span style="FONT-FAMILY: 宋体"> </span></h4>
<p><strong>v</strong> </p>
<p style="MARGIN-LEFT: 21pt">详细输出。 </p>
<p><em>CSR-Thread</em> </p>
<p style="MARGIN-LEFT: 21pt">指定CSR线程的16进制地址。 </p>
<h4>DLL </h4>
<div>
<table style="BORDER-COLLAPSE: collapse" border=0>
    <colgroup>
    <col style="WIDTH: 151px">
    <col style="WIDTH: 123px"></colgroup>
    <tbody vAlign=top>
        <tr>
            <td style="BORDER-RIGHT: black 0.5pt solid; PADDING-RIGHT: 7px; BORDER-TOP: black 0.5pt solid; PADDING-LEFT: 7px; BORDER-LEFT: black 0.5pt solid; BORDER-BOTTOM: black 0.5pt solid">
            <p><strong>Windows&nbsp;NT&nbsp;4.0</strong></p>
            </td>
            <td style="BORDER-RIGHT: black 0.5pt solid; PADDING-RIGHT: 7px; BORDER-TOP: black 0.5pt solid; PADDING-LEFT: 7px; BORDER-LEFT: medium none; BORDER-BOTTOM: black 0.5pt solid">
            <p><em>Ntsdexts.dll</em></p>
            </td>
        </tr>
        <tr>
            <td style="BORDER-RIGHT: black 0.5pt solid; PADDING-RIGHT: 7px; BORDER-TOP: medium none; PADDING-LEFT: 7px; BORDER-LEFT: black 0.5pt solid; BORDER-BOTTOM: black 0.5pt solid">
            <p><strong>Windows&nbsp;2000</strong></p>
            </td>
            <td style="BORDER-RIGHT: black 0.5pt solid; PADDING-RIGHT: 7px; BORDER-TOP: medium none; PADDING-LEFT: 7px; BORDER-LEFT: medium none; BORDER-BOTTOM: black 0.5pt solid">
            <p><em>Ntsdexts.dll</em></p>
            </td>
        </tr>
        <tr>
            <td style="BORDER-RIGHT: black 0.5pt solid; PADDING-RIGHT: 7px; BORDER-TOP: medium none; PADDING-LEFT: 7px; BORDER-LEFT: black 0.5pt solid; BORDER-BOTTOM: black 0.5pt solid">
            <p><strong>Windows&nbsp;XP和之后</strong></p>
            </td>
            <td style="BORDER-RIGHT: black 0.5pt solid; PADDING-RIGHT: 7px; BORDER-TOP: medium none; PADDING-LEFT: 7px; BORDER-LEFT: medium none; BORDER-BOTTOM: black 0.5pt solid">
            <p><em>Ntsdexts.dll</em></p>
            </td>
        </tr>
    </tbody>
</table>
</div>
<h4>注释 </h4>
<p style="MARGIN-LEFT: 21pt">该扩展命令显示CSR线程关联的线程、进程、client ID、标志和引用计数。如果使用了详细模式，输出中还包含list pointer、线程句柄和等待块(wait block)。 </p>
<h4>参见 </h4>
<p style="MARGIN-LEFT: 21pt"><a href="mk:@MSITStore:D:\Program%20Files\Debugging%20Tools%20for%20Windows\debugger.chm::/hh/Debugger/r31_exts_user_684518e3-bf26-4e75-b665-a0f30e104bfc.xml.htm"><strong>!dp (!ntsdexts.dp)</strong></a> </p>
<img src ="http://www.cnitblog.com/cc682/aggbug/47932.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/cc682/" target="_blank">NetRoc/cc682</a> 2008-08-12 15:06 <a href="http://www.cnitblog.com/cc682/archive/2008/08/12/47932.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>WinDbg 文档翻译----89</title><link>http://www.cnitblog.com/cc682/archive/2008/08/11/47893.html</link><dc:creator>NetRoc/cc682</dc:creator><author>NetRoc/cc682</author><pubDate>Mon, 11 Aug 2008 05:24:00 GMT</pubDate><guid>http://www.cnitblog.com/cc682/archive/2008/08/11/47893.html</guid><wfw:comment>http://www.cnitblog.com/cc682/comments/47893.html</wfw:comment><comments>http://www.cnitblog.com/cc682/archive/2008/08/11/47893.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/cc682/comments/commentRss/47893.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/cc682/services/trackbacks/47893.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: cc682/NetRoc http://netroc682.spaces.live.com/ !vm !vm扩展命令显示目标系统中虚拟内存使用统计的摘要信息。 语法 Windows NT 4.0的语法 !vm&nbsp;Windows&nbsp;2000和之后的语法 !vm&nbsp;[Flags]&nbsp;参数 Flags (Windows&nbsp...&nbsp;&nbsp;<a href='http://www.cnitblog.com/cc682/archive/2008/08/11/47893.html'>阅读全文</a><img src ="http://www.cnitblog.com/cc682/aggbug/47893.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/cc682/" target="_blank">NetRoc/cc682</a> 2008-08-11 13:24 <a href="http://www.cnitblog.com/cc682/archive/2008/08/11/47893.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>WinDbg 文档翻译----88</title><link>http://www.cnitblog.com/cc682/archive/2008/08/11/47892.html</link><dc:creator>NetRoc/cc682</dc:creator><author>NetRoc/cc682</author><pubDate>Mon, 11 Aug 2008 05:23:00 GMT</pubDate><guid>http://www.cnitblog.com/cc682/archive/2008/08/11/47892.html</guid><wfw:comment>http://www.cnitblog.com/cc682/comments/47892.html</wfw:comment><comments>http://www.cnitblog.com/cc682/archive/2008/08/11/47892.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/cc682/comments/commentRss/47892.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/cc682/services/trackbacks/47892.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: cc682/NetRoc http://netroc682.spaces.live.com/ !thread !thread 扩展显示目标系统中线程包括ETHREAD块在内的摘要信息。该命令只能在内核模式调试下使用。 这个扩展命令和.thread&nbsp;(Set Register Context)命令不同。 语法 Windows NT 4.0 和Windows&nbsp...&nbsp;&nbsp;<a href='http://www.cnitblog.com/cc682/archive/2008/08/11/47892.html'>阅读全文</a><img src ="http://www.cnitblog.com/cc682/aggbug/47892.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/cc682/" target="_blank">NetRoc/cc682</a> 2008-08-11 13:23 <a href="http://www.cnitblog.com/cc682/archive/2008/08/11/47892.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>WinDbg 文档翻译----87</title><link>http://www.cnitblog.com/cc682/archive/2008/08/04/47593.html</link><dc:creator>NetRoc/cc682</dc:creator><author>NetRoc/cc682</author><pubDate>Mon, 04 Aug 2008 05:48:00 GMT</pubDate><guid>http://www.cnitblog.com/cc682/archive/2008/08/04/47593.html</guid><wfw:comment>http://www.cnitblog.com/cc682/comments/47593.html</wfw:comment><comments>http://www.cnitblog.com/cc682/archive/2008/08/04/47593.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/cc682/comments/commentRss/47593.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/cc682/services/trackbacks/47593.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: cc682/NetRoc http://netroc682.spaces.live.com/ !searchpte !searchpte 在物理内存中搜索指定的页面帧序号(PFN)。 语法 !searchpte&nbsp;PFN&nbsp;!searchpte&nbsp;-?&nbsp;参数 PFN 以16进制格式指定PFN。 -? 在调试器命令窗口中显示该...&nbsp;&nbsp;<a href='http://www.cnitblog.com/cc682/archive/2008/08/04/47593.html'>阅读全文</a><img src ="http://www.cnitblog.com/cc682/aggbug/47593.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/cc682/" target="_blank">NetRoc/cc682</a> 2008-08-04 13:48 <a href="http://www.cnitblog.com/cc682/archive/2008/08/04/47593.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>WinDbg 文档翻译----86</title><link>http://www.cnitblog.com/cc682/archive/2008/08/04/47592.html</link><dc:creator>NetRoc/cc682</dc:creator><author>NetRoc/cc682</author><pubDate>Mon, 04 Aug 2008 05:47:00 GMT</pubDate><guid>http://www.cnitblog.com/cc682/archive/2008/08/04/47592.html</guid><wfw:comment>http://www.cnitblog.com/cc682/comments/47592.html</wfw:comment><comments>http://www.cnitblog.com/cc682/archive/2008/08/04/47592.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/cc682/comments/commentRss/47592.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/cc682/services/trackbacks/47592.html</trackback:ping><description><![CDATA[<p><span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体">cc682/NetRoc </span></p>
<p><a href="http://netroc682.spaces.live.com/"><span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体">http://netroc682.spaces.live.com/</span></a> </p>
<h1>!qlocks </h1>
<p><strong>!qlocks</strong> 扩展用于显示所有排队的自旋锁(queued spin lock)的状态。 </p>
<h4>语法 </h4>
<p style="BACKGROUND: #dddddd"><span style="FONT-FAMILY: Courier New"><strong>!qlocks</strong>&nbsp;<br></span></p>
<h4>DLL </h4>
<div>
<table style="BORDER-COLLAPSE: collapse" border=0>
    <colgroup>
    <col style="WIDTH: 151px">
    <col style="WIDTH: 104px"></colgroup>
    <tbody vAlign=top>
        <tr>
            <td style="BORDER-RIGHT: black 0.5pt solid; PADDING-RIGHT: 7px; BORDER-TOP: black 0.5pt solid; PADDING-LEFT: 7px; BORDER-LEFT: black 0.5pt solid; BORDER-BOTTOM: black 0.5pt solid">
            <p><strong>Windows&nbsp;NT&nbsp;4.0</strong></p>
            </td>
            <td style="BORDER-RIGHT: black 0.5pt solid; PADDING-RIGHT: 7px; BORDER-TOP: black 0.5pt solid; PADDING-LEFT: 7px; BORDER-LEFT: medium none; BORDER-BOTTOM: black 0.5pt solid">
            <p>不可用</p>
            </td>
        </tr>
        <tr>
            <td style="BORDER-RIGHT: black 0.5pt solid; PADDING-RIGHT: 7px; BORDER-TOP: medium none; PADDING-LEFT: 7px; BORDER-LEFT: black 0.5pt solid; BORDER-BOTTOM: black 0.5pt solid">
            <p><strong>Windows&nbsp;2000</strong></p>
            </td>
            <td style="BORDER-RIGHT: black 0.5pt solid; PADDING-RIGHT: 7px; BORDER-TOP: medium none; PADDING-LEFT: 7px; BORDER-LEFT: medium none; BORDER-BOTTOM: black 0.5pt solid">
            <p><em>Kdextx86.dll</em></p>
            </td>
        </tr>
        <tr>
            <td style="BORDER-RIGHT: black 0.5pt solid; PADDING-RIGHT: 7px; BORDER-TOP: medium none; PADDING-LEFT: 7px; BORDER-LEFT: black 0.5pt solid; BORDER-BOTTOM: black 0.5pt solid">
            <p><strong>Windows&nbsp;XP和之后</strong></p>
            </td>
            <td style="BORDER-RIGHT: black 0.5pt solid; PADDING-RIGHT: 7px; BORDER-TOP: medium none; PADDING-LEFT: 7px; BORDER-LEFT: medium none; BORDER-BOTTOM: black 0.5pt solid">
            <p><em>Kdexts.dll</em></p>
            </td>
        </tr>
    </tbody>
</table>
</div>
<p>&nbsp;</p>
<h4>注释 </h4>
<p>该命令仅在多处理器系统上有用。 </p>
<p>下面是一个示例： </p>
<p><span style="COLOR: #660000; FONT-FAMILY: Courier New">0:&nbsp;kd&gt;&nbsp;<strong>!qlocks</strong><br>Key:&nbsp;O&nbsp;=&nbsp;Owner,&nbsp;1-n&nbsp;=&nbsp;Wait&nbsp;order,&nbsp;blank&nbsp;=&nbsp;not&nbsp;owned/waiting,&nbsp;C&nbsp;=&nbsp;Corrupt<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Processor&nbsp;Number<br>&nbsp;&nbsp;&nbsp;&nbsp;Lock&nbsp;Name&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0&nbsp;&nbsp;1&nbsp;&nbsp;2&nbsp;&nbsp;3<br><br>KE&nbsp;&nbsp;&nbsp;-&nbsp;Dispatcher&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>KE&nbsp;&nbsp;&nbsp;-&nbsp;Unused&nbsp;Spare&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>MM&nbsp;&nbsp;&nbsp;-&nbsp;PFN&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>MM&nbsp;&nbsp;&nbsp;-&nbsp;System&nbsp;Space&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>CC&nbsp;&nbsp;&nbsp;-&nbsp;Vacb&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>CC&nbsp;&nbsp;&nbsp;-&nbsp;Master&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>EX&nbsp;&nbsp;&nbsp;-&nbsp;NonPagedPool&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>IO&nbsp;&nbsp;&nbsp;-&nbsp;Cancel&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>EX&nbsp;&nbsp;&nbsp;-&nbsp;WorkQueue&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>IO&nbsp;&nbsp;&nbsp;-&nbsp;Vpb&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>IO&nbsp;&nbsp;&nbsp;-&nbsp;Database&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>IO&nbsp;&nbsp;&nbsp;-&nbsp;Completion&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>NTFS&nbsp;-&nbsp;Struct&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>AFD&nbsp;&nbsp;-&nbsp;WorkQueue&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>CC&nbsp;&nbsp;&nbsp;-&nbsp;Bcb&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>MM&nbsp;&nbsp;&nbsp;-&nbsp;MM&nbsp;NonPagedPool&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br></span></p>
<h4>附加信息<span style="FONT-FAMILY: 宋体"> </span></h4>
<p style="MARGIN-LEFT: 21pt">关于自旋锁的信息，查看Windows Driver Kit (WDK) 文档，以及Mark Russinovich 和David Solomon<em> </em>编写的<em>Microsoft Windows Internals</em>。 </p>
<h1>!ready </h1>
<p><strong>!ready</strong> 扩展命令显示系统中READY状态的所有线程的摘要信息。 </p>
<h4>语法 </h4>
<p style="BACKGROUND: #dddddd"><span style="FONT-FAMILY: Courier New"><strong>!ready</strong>&nbsp;[<em>Flags</em>]&nbsp;<br></span></p>
<h4>参数<span style="FONT-FAMILY: 宋体"> </span></h4>
<p><em>Flags</em> </p>
<p style="MARGIN-LEFT: 21pt">指定显示的级别。<em>Flags</em> 可以是下面这些位的任意组合。如果<em>Flags</em> 为0，则只显示很少的信息。默认值是0x6。 </p>
<p style="MARGIN-LEFT: 21pt">Bit 1 (0x2) </p>
<p style="MARGIN-LEFT: 21pt">使得显示中包括线程的等待状态。 </p>
<p style="MARGIN-LEFT: 21pt">Bit 2 (0x4) </p>
<p style="MARGIN-LEFT: 21pt">如果包含这个位，但是不包含Bit 1(0x2)，则不会起作用。如果和Bit 1一起，则显示线程的调用堆栈。 </p>
<p style="MARGIN-LEFT: 21pt">Bit 3 (0x8) </p>
<p style="MARGIN-LEFT: 21pt"><em>(Windows&nbsp;XP和之后)</em> 使得显示出来的每个函数包含返回地址、堆栈指针、以及<strong>bsp</strong>寄存器(Itanium系统)的值。不显示函数的参数。 </p>
<p style="MARGIN-LEFT: 21pt">Bit 4 (0x10) </p>
<p style="MARGIN-LEFT: 21pt"><em>(Windows&nbsp;XP和之后)</em> 显示的每个函数只包括它的返回地址，不显示参数和堆栈指针。 </p>
<h4>DLL </h4>
<div>
<table style="BORDER-COLLAPSE: collapse" border=0>
    <colgroup>
    <col style="WIDTH: 151px">
    <col style="WIDTH: 104px"></colgroup>
    <tbody vAlign=top>
        <tr>
            <td style="BORDER-RIGHT: black 0.5pt solid; PADDING-RIGHT: 7px; BORDER-TOP: black 0.5pt solid; PADDING-LEFT: 7px; BORDER-LEFT: black 0.5pt solid; BORDER-BOTTOM: black 0.5pt solid">
            <p><strong>Windows&nbsp;NT&nbsp;4.0</strong></p>
            </td>
            <td style="BORDER-RIGHT: black 0.5pt solid; PADDING-RIGHT: 7px; BORDER-TOP: black 0.5pt solid; PADDING-LEFT: 7px; BORDER-LEFT: medium none; BORDER-BOTTOM: black 0.5pt solid">
            <p><em>Kdextx86.dll</em></p>
            </td>
        </tr>
        <tr>
            <td style="BORDER-RIGHT: black 0.5pt solid; PADDING-RIGHT: 7px; BORDER-TOP: medium none; PADDING-LEFT: 7px; BORDER-LEFT: black 0.5pt solid; BORDER-BOTTOM: black 0.5pt solid">
            <p><strong>Windows&nbsp;2000</strong></p>
            </td>
            <td style="BORDER-RIGHT: black 0.5pt solid; PADDING-RIGHT: 7px; BORDER-TOP: medium none; PADDING-LEFT: 7px; BORDER-LEFT: medium none; BORDER-BOTTOM: black 0.5pt solid">
            <p><em>Kdextx86.dll</em></p>
            </td>
        </tr>
        <tr>
            <td style="BORDER-RIGHT: black 0.5pt solid; PADDING-RIGHT: 7px; BORDER-TOP: medium none; PADDING-LEFT: 7px; BORDER-LEFT: black 0.5pt solid; BORDER-BOTTOM: black 0.5pt solid">
            <p><strong>Windows&nbsp;XP和之后</strong></p>
            </td>
            <td style="BORDER-RIGHT: black 0.5pt solid; PADDING-RIGHT: 7px; BORDER-TOP: medium none; PADDING-LEFT: 7px; BORDER-LEFT: medium none; BORDER-BOTTOM: black 0.5pt solid">
            <p><em>Kdexts.dll</em></p>
            </td>
        </tr>
    </tbody>
</table>
</div>
<h4>注释 </h4>
<p style="MARGIN-LEFT: 21pt">除了只显示就绪的线程之外，该命令的输出和<a href="mk:@MSITStore:D:\Program%20Files\Debugging%20Tools%20for%20Windows\debugger.chm::/hh/Debugger/r29_exts_kernel_q_127b52f2-51ff-49c3-9392-7059a2f5a723.xml.htm"><strong>!thread</strong></a>类似，并且输出按照优先权从高到低排序。 </p>
<h4>附加信息 </h4>
<p style="MARGIN-LEFT: 21pt">关于线程调度和READY状态的信息，查看Mark Russinovich 和David Solomon<em> </em>编写的<em>Microsoft Windows Internals</em>。 </p>
<h1>!reg </h1>
<p><strong>!reg</strong> 扩展命令用于显示和搜索注册表数据。 </p>
<h4>语法 </h4>
<p style="BACKGROUND: #dddddd"><span style="FONT-FAMILY: Courier New"><strong>!reg&nbsp;kcb</strong>&nbsp;<em>Address</em>&nbsp;<br><strong>!reg&nbsp;knode</strong>&nbsp;<em>Address</em>&nbsp;<br><strong>!reg&nbsp;kbody</strong>&nbsp;<em>Address</em>&nbsp;<br><strong>!reg&nbsp;kvalue</strong>&nbsp;<em>Address</em>&nbsp;<br><strong>!reg&nbsp;valuelist</strong>&nbsp;<em>HiveAddress</em>&nbsp;<em>KeyNodeAddress</em>&nbsp;<br><strong>!reg&nbsp;subkeylist</strong>&nbsp;<em>HiveAddress</em>&nbsp;<em>KeyNodeAddress</em>&nbsp;<br><strong>!reg&nbsp;cellindex</strong>&nbsp;<em>HiveAddress</em>&nbsp;<em>Index</em>&nbsp;<br><strong>!reg&nbsp;baseblock</strong>&nbsp;<em>HiveAddress</em>&nbsp;<br><strong>!reg&nbsp;seccache</strong>&nbsp;<em>HiveAddress</em>&nbsp;<br><strong>!reg&nbsp;hashindex</strong>&nbsp;<em>HashKey</em><br><strong>!reg&nbsp;openkeys</strong>&nbsp;{<em>HiveAddress</em>|<strong>0</strong>}&nbsp;<br><strong>!reg&nbsp;findkcb</strong>&nbsp;<em>Path</em>&nbsp;<br><strong>!reg&nbsp;hivelist</strong>&nbsp;<br><strong>!reg&nbsp;viewlist</strong>&nbsp;<em>HiveAddress</em>&nbsp;<br><strong>!reg&nbsp;freebins</strong>&nbsp;<em>HiveAddress</em>&nbsp;<br><strong>!reg&nbsp;freecells</strong>&nbsp;<em>BinAddress</em>&nbsp;<br><strong>!reg&nbsp;dirtyvector</strong>&nbsp;<em>HiveAddress</em>&nbsp;<br><strong>!reg&nbsp;freehints</strong>&nbsp;<em>HiveAddress</em>&nbsp;<br><strong>!reg&nbsp;dumppool</strong>&nbsp;[<strong>s</strong>|<strong>r</strong>]&nbsp;<br></span></p>
<h4>参数<span style="FONT-FAMILY: 宋体"> </span></h4>
<p><strong>kcb</strong> <em>Address</em> </p>
<p style="MARGIN-LEFT: 21pt">显示某个registry key control block。<em>Address</em> 指定key control block的地址。 </p>
<p><strong>knode</strong> <em>Address</em> </p>
<p style="MARGIN-LEFT: 21pt">显示一个registry key node structure。 <em>Address</em> 指定这个key node的地址。 </p>
<p><strong>kbody</strong> <em>Address</em> </p>
<p style="MARGIN-LEFT: 21pt">显示一个registry key body (KBODY) 结构。<em>Address</em> 指定这个key body的地址。(Registry key body是和句柄关联的实际对象。) </p>
<p><strong>kvalue</strong> <em>Address</em> </p>
<p style="MARGIN-LEFT: 21pt">显示某个registry key value结构。<em>Address</em> 指定值的地址。 </p>
<p><strong>valuelist</strong> <em>HiveAddress KeyNodeAddress</em> </p>
<p style="MARGIN-LEFT: 21pt">显示指定的key node中value的列表。<em>HiveAddress</em> 指定hive的地址。<em>KeyNodeAddress</em> 指定key node的地址。 </p>
<p><strong>subkeylist</strong> <em>HiveAddress KeyNodeAddress</em> </p>
<p style="MARGIN-LEFT: 21pt">显示指定的key node的subkey列表。<em>HiveAddress</em> 指定hive的地址。<em>KeyNodeAddress</em> 指定key node的地址。 </p>
<p><strong>cellindex</strong> <em>HiveAddress</em> <em>Index</em> </p>
<p style="MARGIN-LEFT: 21pt">显示hive中某个cell的虚拟地址。<em>HiveAddress</em> 指定hive的地址。<em>Index</em>指定cell的序号。 </p>
<p><strong>baseblock</strong> <em>HiveAddress</em> </p>
<p style="MARGIN-LEFT: 21pt">显示某个hive的base block (也称为<em>hive header</em>)。<em>HiveAddress</em>指定hive的地址。 </p>
<p><strong>seccache</strong> <em>HiveAddress</em> </p>
<p style="MARGIN-LEFT: 21pt">显示某个hive的security cache。<em>HiveAddress</em>指定hive的地址。 </p>
<p><strong>hashindex</strong> <em>HashKey</em> </p>
<p style="MARGIN-LEFT: 21pt">计算某个hash key的hash index entry。<em>HashKey</em>用于指定这个key。 </p>
<p><strong>openkeys</strong> { <em>HiveAddress</em> | <strong>0</strong> } </p>
<p style="MARGIN-LEFT: 21pt">显示某个hive中所有打开的key。<em>HiveAddress</em> 指定hive的地址。如果使用0，则显示整个registry hash table；该table包含注册表中所有已打开的key。 </p>
<p><strong>findkcb</strong> <em>Path</em> </p>
<p style="MARGIN-LEFT: 21pt">显示某个注册表路径对应的registry key control block。<em>Path</em> 指定完整的key路径，这个路径必须在hash table中存在。 </p>
<p><strong>hivelist</strong> </p>
<p style="MARGIN-LEFT: 21pt">显示系统中所有hive的列表，以及每个hive相关的详细信息。 </p>
<p><strong>viewlist</strong> <em>HiveAddress</em> </p>
<p style="MARGIN-LEFT: 21pt">显示某个hive的所有pinned and mapped view，以及每个view的详细信息。<em>HiveAddress</em> 指定hive的地址。 </p>
<p><strong>freebins</strong> <em>HiveAddress</em> </p>
<p style="MARGIN-LEFT: 21pt">显示某个hive的所有free bin，以及每个bin的详细信息。<em>HiveAddress</em> 用于指定hive的地址。 </p>
<p><strong>freecells</strong> <em>BinAddress</em> </p>
<p style="MARGIN-LEFT: 21pt">遍历一个bin并且显示它里面所有的cell。<em>BinAddress</em>指定bin的地址。 </p>
<p><strong>dirtyvector</strong> <em>HiveAddress</em> </p>
<p style="MARGIN-LEFT: 21pt">显示某个hive的dirty vector。<em>HiveAddress</em>指定hive的地址。 </p>
<p><strong>freehints</strong> <em>HiveAddress</em> </p>
<p style="MARGIN-LEFT: 21pt">显示空闲的hint。<em>HiveAddress</em>指定hive的地址。 </p>
<p><strong>dumppool</strong> [ <strong>s</strong> | <strong>r</strong> ] </p>
<p style="MARGIN-LEFT: 21pt">显示注册表分配的分页池(registry-allocated paged pool)。如果指定了<strong>s</strong>，则注册表页面列表(registry page list)会保存到一个临时文件中。如果指定<strong>r</strong> ，则从先前保存的临时文件恢复注册表页面列表。 </p>
<h4>DLL </h4>
<div>
<table style="BORDER-COLLAPSE: collapse" border=0>
    <colgroup>
    <col style="WIDTH: 151px">
    <col style="WIDTH: 104px"></colgroup>
    <tbody vAlign=top>
        <tr>
            <td style="BORDER-RIGHT: black 0.5pt solid; PADDING-RIGHT: 7px; BORDER-TOP: black 0.5pt solid; PADDING-LEFT: 7px; BORDER-LEFT: black 0.5pt solid; BORDER-BOTTOM: black 0.5pt solid">
            <p><strong>Windows&nbsp;NT&nbsp;4.0</strong></p>
            </td>
            <td style="BORDER-RIGHT: black 0.5pt solid; PADDING-RIGHT: 7px; BORDER-TOP: black 0.5pt solid; PADDING-LEFT: 7px; BORDER-LEFT: medium none; BORDER-BOTTOM: black 0.5pt solid">
            <p>不可用</p>
            </td>
        </tr>
        <tr>
            <td style="BORDER-RIGHT: black 0.5pt solid; PADDING-RIGHT: 7px; BORDER-TOP: medium none; PADDING-LEFT: 7px; BORDER-LEFT: black 0.5pt solid; BORDER-BOTTOM: black 0.5pt solid">
            <p><strong>Windows&nbsp;2000</strong></p>
            </td>
            <td style="BORDER-RIGHT: black 0.5pt solid; PADDING-RIGHT: 7px; BORDER-TOP: medium none; PADDING-LEFT: 7px; BORDER-LEFT: medium none; BORDER-BOTTOM: black 0.5pt solid">
            <p>不可用</p>
            </td>
        </tr>
        <tr>
            <td style="BORDER-RIGHT: black 0.5pt solid; PADDING-RIGHT: 7px; BORDER-TOP: medium none; PADDING-LEFT: 7px; BORDER-LEFT: black 0.5pt solid; BORDER-BOTTOM: black 0.5pt solid">
            <p><strong>Windows&nbsp;XP和之后</strong></p>
            </td>
            <td style="BORDER-RIGHT: black 0.5pt solid; PADDING-RIGHT: 7px; BORDER-TOP: medium none; PADDING-LEFT: 7px; BORDER-LEFT: medium none; BORDER-BOTTOM: black 0.5pt solid">
            <p><em>Kdexts.dll</em></p>
            </td>
        </tr>
    </tbody>
</table>
</div>
<h4>注释 </h4>
<p style="MARGIN-LEFT: 21pt">使用<a href="mk:@MSITStore:D:\Program%20Files\Debugging%20Tools%20for%20Windows\debugger.chm::/hh/Debugger/r31_exts_user_d482904d-4ea0-436c-b377-c69863fd8d7b.xml.htm"><strong>!dreg</strong></a>扩展命令来显示格式化后的注册表键信息。 </p>
<p style="MARGIN-LEFT: 21pt">下面是一些示例： </p>
<p style="MARGIN-LEFT: 21pt"><span style="COLOR: #660000; FONT-FAMILY: Courier New">kd&gt;&nbsp;<strong>!reg&nbsp;hivelist</strong><br><br>-------------------------------------------------------------------------------------------------------------<br>|&nbsp;HiveAddr&nbsp;|Stable&nbsp;Length|Stable&nbsp;Map|Volatile&nbsp;Length|Volatile&nbsp;Map|MappedViews|PinnedViews|U(Cnt)|&nbsp;BaseBlock&nbsp;|&nbsp;FileName&nbsp;<br>-------------------------------------------------------------------------------------------------------------<br>|&nbsp;e16e7428&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2000&nbsp;&nbsp;|&nbsp;e16e7484&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;00000000&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0|&nbsp;e101f000&nbsp;&nbsp;|&nbsp;\Microsoft\Windows\UsrClass.dat<br>|&nbsp;e1705a78&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;77000&nbsp;&nbsp;|&nbsp;e1705ad4&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1000&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;e1705bb0&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;30&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0|&nbsp;e101c000&nbsp;&nbsp;|&nbsp;ttings\Administrator\ntuser.dat<br>|&nbsp;e13d4b88&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;814000&nbsp;&nbsp;|&nbsp;e146a000&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1000&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;e13d4cc0&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;255&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0|&nbsp;e1460000&nbsp;&nbsp;|&nbsp;emRoot\System32\Config\SOFTWARE<br>|&nbsp;e13ad008&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;23000&nbsp;&nbsp;|&nbsp;e13ad064&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1000&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;e13ad140&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;9&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0|&nbsp;e145e000&nbsp;&nbsp;|&nbsp;temRoot\System32\Config\DEFAULT<br>|&nbsp;e13b3b88&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;a000&nbsp;&nbsp;|&nbsp;e13b3be4&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1000&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;e13b3cc0&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0|&nbsp;e145d000&nbsp;&nbsp;|&nbsp;emRoot\System32\Config\SECURITY<br>|&nbsp;e142d008&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;5000&nbsp;&nbsp;|&nbsp;e142d064&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;00000000&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0|&nbsp;e145f000&nbsp;&nbsp;|&nbsp;&lt;UNKNOWN&gt;<br>|&nbsp;e11e3628&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4000&nbsp;&nbsp;|&nbsp;e11e3684&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;3000&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;e11e3760&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0|&nbsp;e11e4000&nbsp;&nbsp;|&nbsp;&lt;NONAME&gt;<br>|&nbsp;e10168a8&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1c1000&nbsp;&nbsp;|&nbsp;e1016904&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;15000&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;e10169e0&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;66&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0|&nbsp;e1017000&nbsp;&nbsp;|&nbsp;SYSTEM<br>|&nbsp;e10072c8&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1000&nbsp;&nbsp;|&nbsp;e1007324&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;00000000&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0|&nbsp;e1010000&nbsp;&nbsp;|&nbsp;&lt;NONAME&gt;<br>-------------------------------------------------------------------------------------------------------------<br><br>kd&gt;&nbsp;<strong>!reg&nbsp;hashindex&nbsp;e16e7428</strong><br><br>CmpCacheTable&nbsp;=&nbsp;e100a000<br><br>Hash&nbsp;Index[e16e7428]&nbsp;:&nbsp;5ac<br>Hash&nbsp;Entry[e16e7428]&nbsp;:&nbsp;e100b6b0<br><br>kd&gt;&nbsp;<strong>!reg&nbsp;openkeys&nbsp;e16e7428</strong><br><br>Index&nbsp;68:&nbsp;&nbsp;7bab7683&nbsp;kcb=e13314f8&nbsp;cell=00000740&nbsp;f=00200004&nbsp;\REGISTRY\USER\S-1-5-21-1715567821-413027322-527237240-500_Classes\CLSID<br>Index&nbsp;7a1:&nbsp;&nbsp;48a30288&nbsp;kcb=e13a3738&nbsp;cell=00000020&nbsp;f=002c0004&nbsp;\REGISTRY\USER\S-1-5-21-1715567821-413027322-527237240-500_Classes<br><br></span></p>
<h4>附加信息<span style="FONT-FAMILY: 宋体"> </span></h4>
<p style="MARGIN-LEFT: 21pt">关于注册表和它的组件的信息，查看Mark Russinovich 和David Solomon<em> </em>编写的<em>Microsoft Windows Internals</em>。 </p>
<h1>!regkcb </h1>
<p><strong>!regkcb</strong> 扩展显示registry key control block。 </p>
<h4>语法 </h4>
<p>Windows NT 4.0的语法 </p>
<p style="BACKGROUND: #dddddd"><span style="FONT-FAMILY: Courier New"><strong>!regkcb</strong>&nbsp;<br></span></p>
<p>Windows&nbsp;2000的语法<span style="FONT-FAMILY: 宋体"> </span></p>
<p style="BACKGROUND: #dddddd"><span style="FONT-FAMILY: Courier New"><strong>!regkcb</strong>&nbsp;<em>Address</em>&nbsp;<br></span></p>
<h4>参数<span style="FONT-FAMILY: 宋体"> </span></h4>
<p><em>Address</em> </p>
<p style="MARGIN-LEFT: 21pt">指定key control block的地址。 </p>
<h4>DLL </h4>
<div>
<table style="BORDER-COLLAPSE: collapse" border=0>
    <colgroup>
    <col style="WIDTH: 151px">
    <col style="WIDTH: 104px"></colgroup>
    <tbody vAlign=top>
        <tr>
            <td style="BORDER-RIGHT: black 0.5pt solid; PADDING-RIGHT: 7px; BORDER-TOP: black 0.5pt solid; PADDING-LEFT: 7px; BORDER-LEFT: black 0.5pt solid; BORDER-BOTTOM: black 0.5pt solid">
            <p><strong>Windows&nbsp;NT&nbsp;4.0</strong></p>
            </td>
            <td style="BORDER-RIGHT: black 0.5pt solid; PADDING-RIGHT: 7px; BORDER-TOP: black 0.5pt solid; PADDING-LEFT: 7px; BORDER-LEFT: medium none; BORDER-BOTTOM: black 0.5pt solid">
            <p><em>Kdextx86.dll</em></p>
            </td>
        </tr>
        <tr>
            <td style="BORDER-RIGHT: black 0.5pt solid; PADDING-RIGHT: 7px; BORDER-TOP: medium none; PADDING-LEFT: 7px; BORDER-LEFT: black 0.5pt solid; BORDER-BOTTOM: black 0.5pt solid">
            <p><strong>Windows&nbsp;2000</strong></p>
            </td>
            <td style="BORDER-RIGHT: black 0.5pt solid; PADDING-RIGHT: 7px; BORDER-TOP: medium none; PADDING-LEFT: 7px; BORDER-LEFT: medium none; BORDER-BOTTOM: black 0.5pt solid">
            <p><em>Kdextx86.dll</em></p>
            </td>
        </tr>
        <tr>
            <td style="BORDER-RIGHT: black 0.5pt solid; PADDING-RIGHT: 7px; BORDER-TOP: medium none; PADDING-LEFT: 7px; BORDER-LEFT: black 0.5pt solid; BORDER-BOTTOM: black 0.5pt solid">
            <p><strong>Windows&nbsp;XP和之后</strong></p>
            </td>
            <td style="BORDER-RIGHT: black 0.5pt solid; PADDING-RIGHT: 7px; BORDER-TOP: medium none; PADDING-LEFT: 7px; BORDER-LEFT: medium none; BORDER-BOTTOM: black 0.5pt solid">
            <p>不可用</p>
            </td>
        </tr>
    </tbody>
</table>
</div>
<h4>注释 </h4>
<p style="MARGIN-LEFT: 21pt">在Windows NT 4.0中，会显示所有未交付的registry key control blocks。在Windows 2000中，会显示某个指定的registry key control block。 </p>
<p style="MARGIN-LEFT: 21pt">Windows&nbsp;XP和之后版本Windows中，应该使用<a href="mk:@MSITStore:D:\Program%20Files\Debugging%20Tools%20for%20Windows\debugger.chm::/hh/Debugger/r29_exts_kernel_q_a0d5a48c-9f77-4373-8153-d3dd26dd8337.xml.htm"><strong>!reg</strong></a> 扩展命令来替代。 </p>
<p style="MARGIN-LEFT: 21pt">每个注册表键都有一个包含它的许可权(permission)这样的属性的control block。 </p>
<p style="MARGIN-LEFT: 21pt">下面是Windows NT 4.0中的命令示例： </p>
<p style="MARGIN-LEFT: 21pt"><span style="COLOR: #660000; FONT-FAMILY: Courier New">kd&gt;<strong>&nbsp;!regkcb</strong><br>1&nbsp;-&nbsp;&nbsp;\REGISTRY\MACHINE\HARDWARE\DESCRIPTION\SYSTEM<br>1&nbsp;-&nbsp;&nbsp;\REGISTRY\MACHINE\HARDWARE\DESCRIPTION\SYSTEM\MultifunctionAdapter\0<br>1&nbsp;-&nbsp;&nbsp;\REGISTRY\MACHINE\HARDWARE\DESCRIPTION\SYSTEM\MultifunctionAdapter\1<br>1&nbsp;-&nbsp;&nbsp;\REGISTRY\Machine\System\ControlSet001\Control\Class<br>1&nbsp;-&nbsp;&nbsp;\REGISTRY\Machine\System\ControlSet001\Control\ServiceGroupOrder<br>1&nbsp;-&nbsp;&nbsp;\REGISTRY\Machine\System\ControlSet001\Control\ProductOptions<br>1&nbsp;-&nbsp;&nbsp;\REGISTRY\Machine\System\ControlSet001\Control\PriorityControl<br>3&nbsp;-&nbsp;&nbsp;\REGISTRY\Machine\System\ControlSet001\ENUM<br>....<br><br></span></p>
<h4>附加信息<span style="FONT-FAMILY: 宋体"> </span></h4>
<p style="MARGIN-LEFT: 21pt">关于注册表和它的组件的信息，查看Mark Russinovich 和David Solomon编写的 <em>Microsoft Windows Internals</em>。 </p>
<h1>!rellist </h1>
<p><strong>!rellist</strong> 扩展命令显示Plug and Play relation list。 </p>
<h4>语法 </h4>
<p style="BACKGROUND: #dddddd"><span style="FONT-FAMILY: Courier New"><strong>!rellist</strong>&nbsp;<em>Address</em>&nbsp;[<em>Flags</em>]&nbsp;<br></span></p>
<h4>参数<span style="FONT-FAMILY: 宋体"> </span></h4>
<p><em>Address</em> </p>
<p style="MARGIN-LEFT: 21pt">指定relation list 的地址。 </p>
<p><em>Flags</em> </p>
<p style="MARGIN-LEFT: 21pt">指定显示中要包含哪些附加信息。可以是下面这些位的任意组合(默认值为0)： </p>
<p style="MARGIN-LEFT: 21pt">Bit 1 (0x2) </p>
<p style="MARGIN-LEFT: 21pt">显示中包含CM_RESOURCE_LIST。如果可能的话也还会包含boot resources list。 </p>
<p style="MARGIN-LEFT: 21pt">Bit 2 (0x4) </p>
<p style="MARGIN-LEFT: 21pt">显示中包含resource requirements list (IO_RESOURCE_LIST)。 </p>
<p style="MARGIN-LEFT: 21pt">Bit 3 (0x8) </p>
<p style="MARGIN-LEFT: 21pt">显示中包含translated CM_RESOURCE_LIST。 </p>
<h4>DLL </h4>
<div>
<table style="BORDER-COLLAPSE: collapse" border=0>
    <colgroup>
    <col style="WIDTH: 151px">
    <col style="WIDTH: 104px"></colgroup>
    <tbody vAlign=top>
        <tr>
            <td style="BORDER-RIGHT: black 0.5pt solid; PADDING-RIGHT: 7px; BORDER-TOP: black 0.5pt solid; PADDING-LEFT: 7px; BORDER-LEFT: black 0.5pt solid; BORDER-BOTTOM: black 0.5pt solid">
            <p><strong>Windows&nbsp;NT&nbsp;4.0</strong></p>
            </td>
            <td style="BORDER-RIGHT: black 0.5pt solid; PADDING-RIGHT: 7px; BORDER-TOP: black 0.5pt solid; PADDING-LEFT: 7px; BORDER-LEFT: medium none; BORDER-BOTTOM: black 0.5pt solid">
            <p>不可用</p>
            </td>
        </tr>
        <tr>
            <td style="BORDER-RIGHT: black 0.5pt solid; PADDING-RIGHT: 7px; BORDER-TOP: medium none; PADDING-LEFT: 7px; BORDER-LEFT: black 0.5pt solid; BORDER-BOTTOM: black 0.5pt solid">
            <p><strong>Windows&nbsp;2000</strong></p>
            </td>
            <td style="BORDER-RIGHT: black 0.5pt solid; PADDING-RIGHT: 7px; BORDER-TOP: medium none; PADDING-LEFT: 7px; BORDER-LEFT: medium none; BORDER-BOTTOM: black 0.5pt solid">
            <p><em>Kdextx86.dll</em></p>
            </td>
        </tr>
        <tr>
            <td style="BORDER-RIGHT: black 0.5pt solid; PADDING-RIGHT: 7px; BORDER-TOP: medium none; PADDING-LEFT: 7px; BORDER-LEFT: black 0.5pt solid; BORDER-BOTTOM: black 0.5pt solid">
            <p><strong>Windows&nbsp;XP和之后</strong></p>
            </td>
            <td style="BORDER-RIGHT: black 0.5pt solid; PADDING-RIGHT: 7px; BORDER-TOP: medium none; PADDING-LEFT: 7px; BORDER-LEFT: medium none; BORDER-BOTTOM: black 0.5pt solid">
            <p><em>Kdexts.dll</em></p>
            </td>
        </tr>
    </tbody>
</table>
</div>
<h4>附加信息 </h4>
<p style="MARGIN-LEFT: 21pt">查看 <a href="mk:@MSITStore:D:\Program%20Files\Debugging%20Tools%20for%20Windows\debugger.chm::/hh/Debugger/t12_drivers_ba75fa45-397b-473d-88dc-c5e0d598456a.xml.htm">Plug and Play 调试</a>获得该扩展命令的应用。关于这些列表结构的信息，查看Windows Driver Kit (WDK) 文档。 </p>
<h1>!running </h1>
<p><strong>!running</strong> 扩展命令显示目标机上所有处理器上正在运行的线程的列表。 </p>
<h4>语法 </h4>
<p style="BACKGROUND: #dddddd"><span style="FONT-FAMILY: Courier New"><strong>!running</strong>&nbsp;[<strong>-i</strong>]&nbsp;[<strong>-t</strong>]&nbsp;<br></span></p>
<h4>参数<span style="FONT-FAMILY: 宋体"> </span></h4>
<p><strong>-i</strong> </p>
<p style="MARGIN-LEFT: 21pt">显示中也包含空闲处理器(idle processor)。 </p>
<p><strong>-t</strong> </p>
<p style="MARGIN-LEFT: 21pt">显示每个处理器上的调用堆栈。 </p>
<h4>DLL </h4>
<div>
<table style="BORDER-COLLAPSE: collapse" border=0>
    <colgroup>
    <col style="WIDTH: 151px">
    <col style="WIDTH: 104px"></colgroup>
    <tbody vAlign=top>
        <tr>
            <td style="BORDER-RIGHT: black 0.5pt solid; PADDING-RIGHT: 7px; BORDER-TOP: black 0.5pt solid; PADDING-LEFT: 7px; BORDER-LEFT: black 0.5pt solid; BORDER-BOTTOM: black 0.5pt solid">
            <p><strong>Windows&nbsp;NT&nbsp;4.0</strong></p>
            </td>
            <td style="BORDER-RIGHT: black 0.5pt solid; PADDING-RIGHT: 7px; BORDER-TOP: black 0.5pt solid; PADDING-LEFT: 7px; BORDER-LEFT: medium none; BORDER-BOTTOM: black 0.5pt solid">
            <p>不可用</p>
            </td>
        </tr>
        <tr>
            <td style="BORDER-RIGHT: black 0.5pt solid; PADDING-RIGHT: 7px; BORDER-TOP: medium none; PADDING-LEFT: 7px; BORDER-LEFT: black 0.5pt solid; BORDER-BOTTOM: black 0.5pt solid">
            <p><strong>Windows&nbsp;2000</strong></p>
            </td>
            <td style="BORDER-RIGHT: black 0.5pt solid; PADDING-RIGHT: 7px; BORDER-TOP: medium none; PADDING-LEFT: 7px; BORDER-LEFT: medium none; BORDER-BOTTOM: black 0.5pt solid">
            <p>不可用</p>
            </td>
        </tr>
        <tr>
            <td style="BORDER-RIGHT: black 0.5pt solid; PADDING-RIGHT: 7px; BORDER-TOP: medium none; PADDING-LEFT: 7px; BORDER-LEFT: black 0.5pt solid; BORDER-BOTTOM: black 0.5pt solid">
            <p><strong>Windows&nbsp;XP和之后</strong></p>
            </td>
            <td style="BORDER-RIGHT: black 0.5pt solid; PADDING-RIGHT: 7px; BORDER-TOP: medium none; PADDING-LEFT: 7px; BORDER-LEFT: medium none; BORDER-BOTTOM: black 0.5pt solid">
            <p><em>Kdexts.dll</em></p>
            </td>
        </tr>
    </tbody>
</table>
</div>
<h4>注释 </h4>
<p style="MARGIN-LEFT: 21pt">不带参数时，<strong>!running</strong> 会显示所有活动处理器和空闲处理器的亲和性(affinity)。对于所有的活动处理器，还会显示处理器控制块(PRCB)的当前和下一线程字段，以及16个内置的排队自旋锁的状态。 </p>
<p style="MARGIN-LEFT: 21pt">下面是一个Itanium多处理器系统的示例： </p>
<p style="MARGIN-LEFT: 21pt"><span style="COLOR: #660000; FONT-FAMILY: Courier New">0:&nbsp;kd&gt;&nbsp;<strong>!running</strong><br>&nbsp;<br>System&nbsp;Processors&nbsp;3&nbsp;(affinity&nbsp;mask)<br>&nbsp;&nbsp;Idle&nbsp;Processors&nbsp;0<br>&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Prcb&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Current&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Next<br>&nbsp;&nbsp;0&nbsp;&nbsp;e0000000818f8000&nbsp;&nbsp;e0000000818f9e50&nbsp;&nbsp;e0000000866f12f0&nbsp;&nbsp;................<br>&nbsp;1&nbsp;&nbsp;e000000086f16010&nbsp;&nbsp;e00000008620ebe0&nbsp;&nbsp;e000000086eddbc0&nbsp;&nbsp;.O..............<br><br></span></p>
<p style="MARGIN-LEFT: 21pt">每行末尾的16个字符是用来表示内置排队自旋锁的(PRCB 中的LockQueue)。点号(&nbsp;<strong>.</strong>&nbsp;)表示这个锁没有使用， <strong>O</strong> 表示这个锁被该处理器拥有， <strong>W</strong> 表示处理器排队在这个锁上。要查看自旋锁队列的更多信息，可以使用<a href="mk:@MSITStore:D:\Program%20Files\Debugging%20Tools%20for%20Windows\debugger.chm::/hh/Debugger/r29_exts_kernel_q_23790fbd-4598-4b77-bd98-738cbd9cdaa3.xml.htm"><strong>!qlocks</strong></a>。<span style="FONT-FAMILY: 宋体"> </span></p>
<p style="MARGIN-LEFT: 21pt">下面的例子显示了活动和空闲处理器，以及它们的调用堆栈： </p>
<p style="MARGIN-LEFT: 21pt"><span style="COLOR: #660000; FONT-FAMILY: Courier New">0:&nbsp;kd&gt;<strong>&nbsp;!running&nbsp;-it</strong><br>&nbsp;<br>System&nbsp;Processors&nbsp;f&nbsp;(affinity&nbsp;mask)<br>&nbsp;&nbsp;Idle&nbsp;Processors&nbsp;f<br>All&nbsp;processors&nbsp;idle.<br>&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Prcb&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Current&nbsp;&nbsp;&nbsp;Next<br>&nbsp;&nbsp;0&nbsp;&nbsp;ffdff120&nbsp;&nbsp;805495a0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;................<br>&nbsp;<br>ChildEBP&nbsp;RetAddr<br>8053e3f0&nbsp;805329c2&nbsp;nt!RtlpBreakWithStatusInstruction<br>8053e3f0&nbsp;80533464&nbsp;nt!_KeUpdateSystemTime+0x126<br>ffdff980&nbsp;ffdff980&nbsp;nt!KiIdleLoop+0x14<br>&nbsp;<br>&nbsp;&nbsp;1&nbsp;&nbsp;f87e0120&nbsp;&nbsp;f87e2e60&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;................<br>&nbsp;<br>ChildEBP&nbsp;RetAddr<br>f87e0980&nbsp;f87e0980&nbsp;nt!KiIdleLoop+0x14<br>&nbsp;<br>&nbsp;&nbsp;2&nbsp;&nbsp;f87f0120&nbsp;&nbsp;f87f2e60&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;................<br>&nbsp;<br>ChildEBP&nbsp;RetAddr<br>f87f0980&nbsp;f87f0980&nbsp;nt!KiIdleLoop+0x14<br>&nbsp;<br>&nbsp;&nbsp;3&nbsp;&nbsp;f8800120&nbsp;&nbsp;f8802e60&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;................<br>&nbsp;<br>ChildEBP&nbsp;RetAddr<br>f8800980&nbsp;f8800980&nbsp;nt!KiIdleLoop+0x14<br><br></span></p>
<h4>附加信息<span style="FONT-FAMILY: 宋体"> </span></h4>
<p style="MARGIN-LEFT: 21pt">关于调试多处理器计算机的信息，查看<a href="mk:@MSITStore:D:\Program%20Files\Debugging%20Tools%20for%20Windows\debugger.chm::/hh/Debugger/r13_syntax_b7eb5ea3-8cf4-420d-9461-94d4e20f38d5.xml.htm">多处理器语法</a>。 </p>
<h1>!scm </h1>
<p><strong>!scm </strong>扩展显示指定的shared cache map。 </p>
<h4>语法 </h4>
<p style="BACKGROUND: #dddddd"><span style="FONT-FAMILY: Courier New"><strong>!scm</strong>&nbsp;<em>Address</em>&nbsp;<br></span></p>
<h4>参数<span style="FONT-FAMILY: 宋体"> </span></h4>
<p><em>Address</em> </p>
<p style="MARGIN-LEFT: 21pt">指定shared cache map的地址。 </p>
<h4>DLL </h4>
<div>
<table style="BORDER-COLLAPSE: collapse" border=0>
    <colgroup>
    <col style="WIDTH: 151px">
    <col style="WIDTH: 104px"></colgroup>
    <tbody vAlign=top>
        <tr>
            <td style="BORDER-RIGHT: black 0.5pt solid; PADDING-RIGHT: 7px; BORDER-TOP: black 0.5pt solid; PADDING-LEFT: 7px; BORDER-LEFT: black 0.5pt solid; BORDER-BOTTOM: black 0.5pt solid">
            <p><strong>Windows&nbsp;NT&nbsp;4.0</strong></p>
            </td>
            <td style="BORDER-RIGHT: black 0.5pt solid; PADDING-RIGHT: 7px; BORDER-TOP: black 0.5pt solid; PADDING-LEFT: 7px; BORDER-LEFT: medium none; BORDER-BOTTOM: black 0.5pt solid">
            <p>不可用</p>
            </td>
        </tr>
        <tr>
            <td style="BORDER-RIGHT: black 0.5pt solid; PADDING-RIGHT: 7px; BORDER-TOP: medium none; PADDING-LEFT: 7px; BORDER-LEFT: black 0.5pt solid; BORDER-BOTTOM: black 0.5pt solid">
            <p><strong>Windows&nbsp;2000</strong></p>
            </td>
            <td style="BORDER-RIGHT: black 0.5pt solid; PADDING-RIGHT: 7px; BORDER-TOP: medium none; PADDING-LEFT: 7px; BORDER-LEFT: medium none; BORDER-BOTTOM: black 0.5pt solid">
            <p><em>Kdextx86.dll</em></p>
            </td>
        </tr>
        <tr>
            <td style="BORDER-RIGHT: black 0.5pt solid; PADDING-RIGHT: 7px; BORDER-TOP: medium none; PADDING-LEFT: 7px; BORDER-LEFT: black 0.5pt solid; BORDER-BOTTOM: black 0.5pt solid">
            <p><strong>Windows&nbsp;XP和之后</strong></p>
            </td>
            <td style="BORDER-RIGHT: black 0.5pt solid; PADDING-RIGHT: 7px; BORDER-TOP: medium none; PADDING-LEFT: 7px; BORDER-LEFT: medium none; BORDER-BOTTOM: black 0.5pt solid">
            <p>不可用</p>
            </td>
        </tr>
    </tbody>
</table>
</div>
<h4>注释 </h4>
<p style="MARGIN-LEFT: 21pt">在Windows XP和之后版本的Windows中，可以使用<a href="mk:@MSITStore:D:\Program%20Files\Debugging%20Tools%20for%20Windows\debugger.chm::/hh/Debugger/r16_cmds_c_94727332-6184-4ced-897b-d358ca7c173d.xml.htm"><strong>dt nt!_SHARED_CACHE_MAP </strong><em>Address</em></a> 命令来替代<strong>!scm</strong>。 </p>
<h4>附加信息 </h4>
<p style="MARGIN-LEFT: 21pt">关于缓存管理的信息，查看Microsoft Windows SDK 文档，以及Mark Russinovich 和David Solomon<em> </em>编写的<em>Microsoft Windows Internals</em>。 </p>
<p style="MARGIN-LEFT: 21pt">关于缓存管理扩展命令的信息，查看<a href="mk:@MSITStore:D:\Program%20Files\Debugging%20Tools%20for%20Windows\debugger.chm::/hh/Debugger/r26_exts_kernel_a_6c3fa5e8-9710-4af8-8baf-e355e7c1bb5a.xml.htm"><strong>!cchelp</strong></a>。 </p>
<h1>!search </h1>
<p><strong>!search</strong> 扩展命令在物理内存的页面中搜索匹配指定目标的指针大小的数据。 </p>
<h4>语法 </h4>
<p>Windows&nbsp;2000的语法 </p>
<p style="BACKGROUND: #dddddd"><span style="FONT-FAMILY: Courier New"><strong>!search</strong>&nbsp;<em>Data</em>&nbsp;[<em>&nbsp;Delta</em>&nbsp;[&nbsp;<em>StartPFN&nbsp;</em>[&nbsp;<em>EndPFN</em>&nbsp;]]]&nbsp;<br><strong>!search&nbsp;-?</strong>&nbsp;<br></span></p>
<p>Windows&nbsp;XP和之后的语法<span style="FONT-FAMILY: 宋体"> </span></p>
<p style="BACKGROUND: #dddddd"><span style="FONT-FAMILY: Courier New"><strong>!search</strong>&nbsp;[<strong>-s</strong>]&nbsp;[<strong>-p</strong>]&nbsp;<em>Data</em>&nbsp;[<em>&nbsp;Delta</em>&nbsp;[&nbsp;<em>StartPFN&nbsp;</em>[&nbsp;<em>EndPFN</em>&nbsp;]]]&nbsp;<br><strong>!search&nbsp;-?</strong>&nbsp;<br></span></p>
<h4>参数<span style="FONT-FAMILY: 宋体"> </span></h4>
<p><strong>-s</strong> </p>
<p style="MARGIN-LEFT: 21pt"><em>(Windows&nbsp;XP和之后)</em> 忽略搜索中遇到的符号校验错误。在遇到很多"incorrect symbols for kernel"错误时非常有用。 </p>
<p><strong>-p</strong> </p>
<p style="MARGIN-LEFT: 21pt"><em>(Windows&nbsp;XP和之后)</em> 将<em>Data</em> 当作32位值，不进行任何符号扩展。 </p>
<p><em>Data</em> </p>
<p style="MARGIN-LEFT: 21pt">指定要搜索的数据。<em>Data</em> 必须和目标系统上的指针大小(32位或64位)一样。和<em>Data</em>精确匹配的值总是会显示出来。其他匹配的值根据<em>Delta</em>的设置，可能也会显示出来，详细信息可以查看后面的注释节。 </p>
<p><em>Delta</em> </p>
<p style="MARGIN-LEFT: 21pt">指定内存中的值和<em>Data</em>之间允许存在的误差。查看注释部分获得详细信息。 </p>
<p><em>StartPFN</em> </p>
<p style="MARGIN-LEFT: 21pt">指定要搜索的范围开始位置的页面帧序号(PFN)。如果省略，则从物理页面的最低地址开始搜索。 </p>
<p><em>EndPFN</em> </p>
<p style="MARGIN-LEFT: 21pt">指定搜索范围结束处的页面帧序号(PFN)。如果省略，则在物理页面的最高地址处结束搜索。 </p>
<p><strong>-?</strong> </p>
<p style="MARGIN-LEFT: 21pt">在调试器命令窗口中显示该扩展命令的帮助。 </p>
<h4>DLL </h4>
<div>
<table style="BORDER-COLLAPSE: collapse" border=0>
    <colgroup>
    <col style="WIDTH: 151px">
    <col style="WIDTH: 104px"></colgroup>
    <tbody vAlign=top>
        <tr>
            <td style="BORDER-RIGHT: black 0.5pt solid; PADDING-RIGHT: 7px; BORDER-TOP: black 0.5pt solid; PADDING-LEFT: 7px; BORDER-LEFT: black 0.5pt solid; BORDER-BOTTOM: black 0.5pt solid">
            <p><strong>Windows&nbsp;NT&nbsp;4.0</strong></p>
            </td>
            <td style="BORDER-RIGHT: black 0.5pt solid; PADDING-RIGHT: 7px; BORDER-TOP: black 0.5pt solid; PADDING-LEFT: 7px; BORDER-LEFT: medium none; BORDER-BOTTOM: black 0.5pt solid">
            <p>不可用</p>
            </td>
        </tr>
        <tr>
            <td style="BORDER-RIGHT: black 0.5pt solid; PADDING-RIGHT: 7px; BORDER-TOP: medium none; PADDING-LEFT: 7px; BORDER-LEFT: black 0.5pt solid; BORDER-BOTTOM: black 0.5pt solid">
            <p><strong>Windows&nbsp;2000</strong></p>
            </td>
            <td style="BORDER-RIGHT: black 0.5pt solid; PADDING-RIGHT: 7px; BORDER-TOP: medium none; PADDING-LEFT: 7px; BORDER-LEFT: medium none; BORDER-BOTTOM: black 0.5pt solid">
            <p><em>Kdextx86.dll</em></p>
            </td>
        </tr>
        <tr>
            <td style="BORDER-RIGHT: black 0.5pt solid; PADDING-RIGHT: 7px; BORDER-TOP: medium none; PADDING-LEFT: 7px; BORDER-LEFT: black 0.5pt solid; BORDER-BOTTOM: black 0.5pt solid">
            <p><strong>Windows&nbsp;XP和之后</strong></p>
            </td>
            <td style="BORDER-RIGHT: black 0.5pt solid; PADDING-RIGHT: 7px; BORDER-TOP: medium none; PADDING-LEFT: 7px; BORDER-LEFT: medium none; BORDER-BOTTOM: black 0.5pt solid">
            <p><em>Kdexts.dll</em></p>
            </td>
        </tr>
    </tbody>
</table>
</div>
<h4>注释 </h4>
<p style="MARGIN-LEFT: 21pt">如果指定了<em>StartPFN</em> 和<em>EndPFN</em>，它们会被当作要搜索的物理内存区域的开始和结束位置的页面帧序号。关于页面帧序号的说明，查看<a href="mk:@MSITStore:D:\Program%20Files\Debugging%20Tools%20for%20Windows\debugger.chm::/hh/Debugger/t01_basic_d3a32249-4872-4355-acf2-45e4743c4d66.xml.htm">将虚拟地址转换成物理地址</a>。如果省略<em>StartPFN</em> 和<em>EndPFN</em> ，则搜索所有物理内存。 </p>
<p style="MARGIN-LEFT: 21pt">在Windows&nbsp;2000中，每个页面只会显示第一个匹配项，除非<em>StartPFN</em>和<em>EndPFN</em>相同。在Windows XP和之后，可以显示所有的匹配项。 </p>
<p style="MARGIN-LEFT: 21pt"><strong>!search</strong> 扩展会搜索指定的页面范围中所有内存，并且检查每个按ULONG_PTR 对齐的值。满足下面这些条件中至少一个的值会被显示出来： </p>
<ul style="MARGIN-LEFT: 42pt">
    <li>精确匹配<em>Data</em> 的值。
    <li><em>如果Delta为0或省略:</em> 和<em>Data</em>只有一个bit不同的数据。
    <li><em>如果Delta非0:</em> 和<em>Data</em>相差最多为<em>Delta</em>的值。换句话说，即在范围[<em>Data</em> - <em>Delta</em>, <em>Data</em> + <em>Delta</em>]内。
    <li><em>如果Delta非0: </em>和上面的范围中(<em>Data</em> - <em>Delta</em>)小的那个数只相差一个bit的值。 </li>
</ul>
<p>大多数情况下，<em>Data</em>用来指定感兴趣的地址，但是允许指定任何ULONG_PTR 大小的数据。 </p>
<p style="MARGIN-LEFT: 21pt">由于调试器的搜索引擎的结构保存在目标机内存中，如果搜索所有内存(或者和这些结构有重合的区域)，则会看到在这些结构保存的内存里面也找到了匹配。如果要消除这些匹配，可以搜索一个随机值，这样就能找出调试器的搜索结构保存的位置。 </p>
<p style="MARGIN-LEFT: 21pt">下面是一些例子。这个命令在PFN为0x237D 的内存中搜索0x80001230 到0x80001238之间的值： </p>
<p style="MARGIN-LEFT: 21pt"><span style="COLOR: #660000; FONT-FAMILY: Courier New">kd&gt;<strong>&nbsp;!search&nbsp;80001234&nbsp;4&nbsp;237d&nbsp;237d</strong>&nbsp;<br><br></span></p>
<p style="MARGIN-LEFT: 21pt">下面的命令在PFN 0x2370 到0x237F的范围内搜索和0x0F100F0F相差不超过1 bit的值。精确匹配在下面用粗体标识，其他的有1个bit的差异：<span style="FONT-FAMILY: 宋体"> </span></p>
<p style="MARGIN-LEFT: 21pt"><span style="COLOR: #660000; FONT-FAMILY: Courier New">kd&gt;&nbsp;<strong>!search&nbsp;0f100f0f&nbsp;0&nbsp;2370&nbsp;237f</strong><br>Searching&nbsp;PFNs&nbsp;in&nbsp;range&nbsp;00002370&nbsp;-&nbsp;0000237F&nbsp;for&nbsp;[0F100F0F&nbsp;-&nbsp;0F100F0F]<br><br>Pfn&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Offset&nbsp;&nbsp;&nbsp;Hit&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Va&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Pte&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>-&nbsp;-&nbsp;-&nbsp;-&nbsp;-&nbsp;-&nbsp;-&nbsp;-&nbsp;-&nbsp;-&nbsp;-&nbsp;-&nbsp;-&nbsp;-&nbsp;-&nbsp;-&nbsp;-&nbsp;-&nbsp;-&nbsp;-&nbsp;-&nbsp;-&nbsp;-&nbsp;-&nbsp;-&nbsp;-&nbsp;-<br>0000237B&nbsp;00000368&nbsp;0F000F0F&nbsp;01003368&nbsp;C0004014&nbsp;<br>0000237C&nbsp;00000100&nbsp;<strong>0F100F0F</strong>&nbsp;01004100&nbsp;C0004014&nbsp;<br>0000237D&nbsp;000003A8&nbsp;<strong>0F100F0F</strong>&nbsp;010053A8&nbsp;C0004014&nbsp;<br>0000237D&nbsp;000003C8&nbsp;0F100F8F&nbsp;010053C8&nbsp;C0004014&nbsp;<br>0000237D&nbsp;000003E8&nbsp;<strong>0F100F0F</strong>&nbsp;010053E8&nbsp;C0004014&nbsp;<br>0000237D&nbsp;00000408&nbsp;<strong>0F100F0F</strong>&nbsp;01005408&nbsp;C0004014&nbsp;<br>0000237D&nbsp;00000428&nbsp;0F100F8F&nbsp;01005428&nbsp;C0004014&nbsp;<br>Search&nbsp;done.<br><br></span></p>
<p style="MARGIN-LEFT: 21pt">显示出来的列有这些： <strong>Pfn</strong> 是页面的页面帧序号(PFN)；<strong>Offset</strong> 是在页面中的偏移；<strong>Hit</strong> 是在该地址的值；<strong>Va</strong> 是该物理地址映射到的虚拟地址(如果存在并且可以获得)；<strong>Pte</strong>是页表项(PTE)。 <span style="FONT-FAMILY: 宋体"></span></p>
<p style="MARGIN-LEFT: 21pt">要计算物理地址(疑为虚拟地址 — 译者)，可以将PFN左移3个16进制数字(12 bit)然后加上偏移。例如，上表中最后以行的虚拟地址是0x0237D000 + 0x428 = 0x02347D428。 </p>
<h4>附加信息 </h4>
<p style="MARGIN-LEFT: 21pt">更多显示和搜索物理内存的方法，查看<a href="mk:@MSITStore:D:\Program%20Files\Debugging%20Tools%20for%20Windows\debugger.chm::/hh/Debugger/r07_use_operation_d368d81b-2cd4-4227-9b84-b5d956eed347.xml.htm">读写内存</a>。</p>
<img src ="http://www.cnitblog.com/cc682/aggbug/47592.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/cc682/" target="_blank">NetRoc/cc682</a> 2008-08-04 13:47 <a href="http://www.cnitblog.com/cc682/archive/2008/08/04/47592.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>WinDbg 文档翻译----85</title><link>http://www.cnitblog.com/cc682/archive/2008/07/30/47299.html</link><dc:creator>NetRoc/cc682</dc:creator><author>NetRoc/cc682</author><pubDate>Wed, 30 Jul 2008 06:59:00 GMT</pubDate><guid>http://www.cnitblog.com/cc682/archive/2008/07/30/47299.html</guid><wfw:comment>http://www.cnitblog.com/cc682/comments/47299.html</wfw:comment><comments>http://www.cnitblog.com/cc682/archive/2008/07/30/47299.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/cc682/comments/commentRss/47299.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/cc682/services/trackbacks/47299.html</trackback:ping><description><![CDATA[<p><span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体">cc682/NetRoc </span></p>
<p><a href="http://netroc682.spaces.live.com/"><span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体">http://netroc682.spaces.live.com/</span></a> </p>
<h1>!processfields </h1>
<p><strong>!processfields</strong> 扩展命令显示执行进程块(EPROCESS)中字段的名字和偏移。 </p>
<h4>语法 </h4>
<p style="BACKGROUND: #dddddd"><span style="FONT-FAMILY: Courier New"><strong>!processfields</strong>&nbsp;<br></span></p>
<h4>DLL </h4>
<div>
<table style="BORDER-COLLAPSE: collapse" border=0>
    <colgroup>
    <col style="WIDTH: 151px">
    <col style="WIDTH: 170px"></colgroup>
    <tbody vAlign=top>
        <tr>
            <td style="BORDER-RIGHT: black 0.5pt solid; PADDING-RIGHT: 7px; BORDER-TOP: black 0.5pt solid; PADDING-LEFT: 7px; BORDER-LEFT: black 0.5pt solid; BORDER-BOTTOM: black 0.5pt solid">
            <p><strong>Windows&nbsp;NT&nbsp;4.0</strong></p>
            </td>
            <td style="BORDER-RIGHT: black 0.5pt solid; PADDING-RIGHT: 7px; BORDER-TOP: black 0.5pt solid; PADDING-LEFT: 7px; BORDER-LEFT: medium none; BORDER-BOTTOM: black 0.5pt solid">
            <p><em>Kdextx86.dll</em></p>
            </td>
        </tr>
        <tr>
            <td style="BORDER-RIGHT: black 0.5pt solid; PADDING-RIGHT: 7px; BORDER-TOP: medium none; PADDING-LEFT: 7px; BORDER-LEFT: black 0.5pt solid; BORDER-BOTTOM: black 0.5pt solid">
            <p><strong>Windows&nbsp;2000</strong></p>
            </td>
            <td style="BORDER-RIGHT: black 0.5pt solid; PADDING-RIGHT: 7px; BORDER-TOP: medium none; PADDING-LEFT: 7px; BORDER-LEFT: medium none; BORDER-BOTTOM: black 0.5pt solid">
            <p><em>Kdextx86.dll</em></p>
            </td>
        </tr>
        <tr>
            <td style="BORDER-RIGHT: black 0.5pt solid; PADDING-RIGHT: 7px; BORDER-TOP: medium none; PADDING-LEFT: 7px; BORDER-LEFT: black 0.5pt solid; BORDER-BOTTOM: black 0.5pt solid">
            <p><strong>Windows&nbsp;XP和之后</strong></p>
            </td>
            <td style="BORDER-RIGHT: black 0.5pt solid; PADDING-RIGHT: 7px; BORDER-TOP: medium none; PADDING-LEFT: 7px; BORDER-LEFT: medium none; BORDER-BOTTOM: black 0.5pt solid">
            <p>不可用(查看<strong>注释</strong>)</p>
            </td>
        </tr>
    </tbody>
</table>
</div>
<h4>注释 </h4>
<p style="MARGIN-LEFT: 21pt">该扩展命令在Windows XP和之后的系统中都不可用。可以直接使用 <a href="mk:@MSITStore:D:\Program%20Files\Debugging%20Tools%20for%20Windows\debugger.chm::/hh/Debugger/r16_cmds_c_94727332-6184-4ced-897b-d358ca7c173d.xml.htm"><strong>dt&nbsp;(Display Type)</strong></a> 命令显示EPROCESS结构： </p>
<p style="MARGIN-LEFT: 21pt"><span style="COLOR: #660000; FONT-FAMILY: Courier New">kd&gt;&nbsp;<strong>dt&nbsp;nt!_EPROCESS</strong>&nbsp;<br><br></span></p>
<p style="MARGIN-LEFT: 21pt">下面是<strong>!processfields</strong> 在Windows 2000系统中的示例：<span style="FONT-FAMILY: 宋体"> </span></p>
<p style="MARGIN-LEFT: 21pt"><span style="COLOR: #660000; FONT-FAMILY: Courier New">kd&gt;&nbsp;<strong>!processfields</strong><br>&nbsp;EPROCESS&nbsp;structure&nbsp;offsets:<br><br>&nbsp;&nbsp;&nbsp;&nbsp;Pcb:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x0<br>&nbsp;&nbsp;&nbsp;&nbsp;ExitStatus:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x6c<br>&nbsp;&nbsp;&nbsp;&nbsp;LockEvent:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x70<br>&nbsp;&nbsp;&nbsp;&nbsp;LockCount:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x80<br>&nbsp;&nbsp;&nbsp;&nbsp;CreateTime:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x88<br>&nbsp;&nbsp;&nbsp;&nbsp;ExitTime:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x90<br>&nbsp;&nbsp;&nbsp;&nbsp;LockOwner:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x98<br>&nbsp;&nbsp;&nbsp;&nbsp;UniqueProcessId:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x9c<br>&nbsp;&nbsp;&nbsp;&nbsp;ActiveProcessLinks:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0xa0<br>&nbsp;&nbsp;&nbsp;&nbsp;QuotaPeakPoolUsage[0]:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0xa8<br>&nbsp;&nbsp;&nbsp;&nbsp;QuotaPoolUsage[0]:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0xb0<br>&nbsp;&nbsp;&nbsp;&nbsp;PagefileUsage:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0xb8<br>&nbsp;&nbsp;&nbsp;&nbsp;CommitCharge:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0xbc<br>&nbsp;&nbsp;&nbsp;&nbsp;PeakPagefileUsage:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0xc0<br>&nbsp;&nbsp;&nbsp;&nbsp;PeakVirtualSize:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0xc4<br>&nbsp;&nbsp;&nbsp;&nbsp;VirtualSize:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0xc8<br>&nbsp;&nbsp;&nbsp;&nbsp;Vm:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0xd0<br>&nbsp;&nbsp;&nbsp;&nbsp;DebugPort:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x120<br>&nbsp;&nbsp;&nbsp;&nbsp;ExceptionPort:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x124<br>&nbsp;&nbsp;&nbsp;&nbsp;ObjectTable:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x128<br>&nbsp;&nbsp;&nbsp;&nbsp;Token:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x12c<br>&nbsp;&nbsp;&nbsp;&nbsp;WorkingSetLock:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x130<br>&nbsp;&nbsp;&nbsp;&nbsp;WorkingSetPage:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x150<br>&nbsp;&nbsp;&nbsp;&nbsp;ProcessOutswapEnabled:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x154<br>&nbsp;&nbsp;&nbsp;&nbsp;ProcessOutswapped:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x155<br>&nbsp;&nbsp;&nbsp;&nbsp;AddressSpaceInitialized:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x156<br>&nbsp;&nbsp;&nbsp;&nbsp;AddressSpaceDeleted:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x157<br>&nbsp;&nbsp;&nbsp;&nbsp;AddressCreationLock:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x158<br>&nbsp;&nbsp;&nbsp;&nbsp;ForkInProgress:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x17c<br>&nbsp;&nbsp;&nbsp;&nbsp;VmOperation:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x180<br>&nbsp;&nbsp;&nbsp;&nbsp;VmOperationEvent:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x184<br>&nbsp;&nbsp;&nbsp;&nbsp;PageDirectoryPte:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x1f0<br>&nbsp;&nbsp;&nbsp;&nbsp;LastFaultCount:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x18c<br>&nbsp;&nbsp;&nbsp;&nbsp;VadRoot:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x194<br>&nbsp;&nbsp;&nbsp;&nbsp;VadHint:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x198<br>&nbsp;&nbsp;&nbsp;&nbsp;CloneRoot:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x19c<br>&nbsp;&nbsp;&nbsp;&nbsp;NumberOfPrivatePages:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x1a0<br>&nbsp;&nbsp;&nbsp;&nbsp;NumberOfLockedPages:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x1a4<br>&nbsp;&nbsp;&nbsp;&nbsp;ForkWasSuccessful:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x182<br>&nbsp;&nbsp;&nbsp;&nbsp;ExitProcessCalled:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x1aa<br>&nbsp;&nbsp;&nbsp;&nbsp;CreateProcessReported:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x1ab<br>&nbsp;&nbsp;&nbsp;&nbsp;SectionHandle:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x1ac<br>&nbsp;&nbsp;&nbsp;&nbsp;Peb:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x1b0<br>&nbsp;&nbsp;&nbsp;&nbsp;SectionBaseAddress:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x1b4<br>&nbsp;&nbsp;&nbsp;&nbsp;QuotaBlock:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x1b8<br>&nbsp;&nbsp;&nbsp;&nbsp;LastThreadExitStatus:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x1bc<br>&nbsp;&nbsp;&nbsp;&nbsp;WorkingSetWatch:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x1c0<br>&nbsp;&nbsp;&nbsp;&nbsp;InheritedFromUniqueProcessId:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x1c8<br>&nbsp;&nbsp;&nbsp;&nbsp;GrantedAccess:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x1cc<br>&nbsp;&nbsp;&nbsp;&nbsp;DefaultHardErrorProcessing&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x1d0<br>&nbsp;&nbsp;&nbsp;&nbsp;LdtInformation:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x1d4<br>&nbsp;&nbsp;&nbsp;&nbsp;VadFreeHint:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x1d8<br>&nbsp;&nbsp;&nbsp;&nbsp;VdmObjects:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x1dc<br>&nbsp;&nbsp;&nbsp;&nbsp;DeviceMap:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x1e0<br>&nbsp;&nbsp;&nbsp;&nbsp;ImageFileName[0]:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x1fc<br>&nbsp;&nbsp;&nbsp;&nbsp;VmTrimFaultValue:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x20c<br>&nbsp;&nbsp;&nbsp;&nbsp;Win32Process:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x214<br>&nbsp;&nbsp;&nbsp;&nbsp;Win32WindowStation:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x1c4<br><br></span></p>
<h4>附加信息<span style="FONT-FAMILY: 宋体"> </span></h4>
<p style="MARGIN-LEFT: 21pt">关于EPROCESS块的信息，查看Mark Russinovich 和David Solomon<em> </em>编写的<em>Microsoft Windows Internals</em>。 </p>
<h1>!psp </h1>
<p><strong>!psp </strong>扩展用于显示指定地址处的处理器状态参数寄存器(processor state parameter (PSP) register)。 </p>
<p>该命令仅在Itanium目标机上支持。 </p>
<h4>语法 </h4>
<p style="BACKGROUND: #dddddd"><span style="FONT-FAMILY: Courier New"><strong>!psp</strong>&nbsp;<em>Address</em>&nbsp;[<em>DisplayLevel</em>]<br></span></p>
<h4>参数<span style="FONT-FAMILY: 宋体"> </span></h4>
<p><em>Address</em> </p>
<p style="MARGIN-LEFT: 21pt">指定要显示的PSP寄存器的16进制地址。 </p>
<p><em>DisplayLevel</em> </p>
<p style="MARGIN-LEFT: 21pt">可以是下面这些选项中任意一个： </p>
<p style="MARGIN-LEFT: 21pt"><strong>0</strong> </p>
<p style="MARGIN-LEFT: 21pt">仅显示PSP字段的值。这是默认情况。 </p>
<p style="MARGIN-LEFT: 21pt"><strong>1</strong> </p>
<p style="MARGIN-LEFT: 21pt">显示非保留和非忽略的PSP字段的详细信息。 </p>
<p style="MARGIN-LEFT: 21pt"><strong>2</strong> </p>
<p style="MARGIN-LEFT: 21pt">显示所有PSP字段的详细信息，包括被忽略或保留的那些。 </p>
<h4>DLL </h4>
<div>
<table style="BORDER-COLLAPSE: collapse" border=0>
    <colgroup>
    <col style="WIDTH: 151px">
    <col style="WIDTH: 170px"></colgroup>
    <tbody vAlign=top>
        <tr>
            <td style="BORDER-RIGHT: black 0.5pt solid; PADDING-RIGHT: 7px; BORDER-TOP: black 0.5pt solid; PADDING-LEFT: 7px; BORDER-LEFT: black 0.5pt solid; BORDER-BOTTOM: black 0.5pt solid">
            <p><strong>Windows&nbsp;NT&nbsp;4.0</strong></p>
            </td>
            <td style="BORDER-RIGHT: black 0.5pt solid; PADDING-RIGHT: 7px; BORDER-TOP: black 0.5pt solid; PADDING-LEFT: 7px; BORDER-LEFT: medium none; BORDER-BOTTOM: black 0.5pt solid">
            <p>不可用</p>
            </td>
        </tr>
        <tr>
            <td style="BORDER-RIGHT: black 0.5pt solid; PADDING-RIGHT: 7px; BORDER-TOP: medium none; PADDING-LEFT: 7px; BORDER-LEFT: black 0.5pt solid; BORDER-BOTTOM: black 0.5pt solid">
            <p><strong>Windows&nbsp;2000</strong></p>
            </td>
            <td style="BORDER-RIGHT: black 0.5pt solid; PADDING-RIGHT: 7px; BORDER-TOP: medium none; PADDING-LEFT: 7px; BORDER-LEFT: medium none; BORDER-BOTTOM: black 0.5pt solid">
            <p>不可用</p>
            </td>
        </tr>
        <tr>
            <td style="BORDER-RIGHT: black 0.5pt solid; PADDING-RIGHT: 7px; BORDER-TOP: medium none; PADDING-LEFT: 7px; BORDER-LEFT: black 0.5pt solid; BORDER-BOTTOM: black 0.5pt solid">
            <p><strong>Windows&nbsp;XP和之后</strong></p>
            </td>
            <td style="BORDER-RIGHT: black 0.5pt solid; PADDING-RIGHT: 7px; BORDER-TOP: medium none; PADDING-LEFT: 7px; BORDER-LEFT: medium none; BORDER-BOTTOM: black 0.5pt solid">
            <p><em>Kdexts.dll</em></p>
            </td>
        </tr>
    </tbody>
</table>
</div>
<h1>!pte </h1>
<p><strong>!pte</strong> 扩展显示指定地址的页表项(page table entry (PTE))和页目录项(page directory entry (PDE))。 </p>
<h4>语法 </h4>
<p>Windows NT 4.0 和Windows&nbsp;2000的语法 </p>
<p style="BACKGROUND: #dddddd"><span style="FONT-FAMILY: Courier New"><strong>!pte</strong>&nbsp;<em>VirtualAddress</em>&nbsp;<br><strong>!pte</strong>&nbsp;<em>PTE</em>&nbsp;<br><strong>!pte</strong>&nbsp;<em>LiteralAddress</em>&nbsp;<strong>1</strong>&nbsp;<br><strong>!pte</strong>&nbsp;<em>StartAddress</em>&nbsp;<em>EndAddress</em>&nbsp;<br></span></p>
<p>Windows&nbsp;XP和之后的语法<span style="FONT-FAMILY: 宋体"> </span></p>
<p style="BACKGROUND: #dddddd"><span style="FONT-FAMILY: Courier New"><strong>!pte</strong>&nbsp;<em>VirtualAddress</em>&nbsp;<br><strong>!pte</strong>&nbsp;<em>PTE</em>&nbsp;<br><strong>!pte</strong>&nbsp;<em>LiteralAddress</em>&nbsp;<strong>1</strong>&nbsp;<br></span></p>
<h4>参数<span style="FONT-FAMILY: 宋体"> </span></h4>
<p><em>VirtualAddress</em> </p>
<p style="MARGIN-LEFT: 21pt">指定需要查看页表的虚拟地址。 </p>
<p><em>PTE</em> </p>
<p style="MARGIN-LEFT: 21pt">指定实际的PTE的地址。 </p>
<p><em>LiteralAddress</em> <strong>1</strong> </p>
<p style="MARGIN-LEFT: 21pt">指定实际的PTE或PDE的地址。 </p>
<p><em>StartAddress</em> </p>
<p style="MARGIN-LEFT: 21pt"><em>(仅x86 或x64 目标机;仅 Windows NT 4.0 和Windows&nbsp;2000)</em> 指定某个范围的开始的虚拟地址。该范围内的所有页表都会被显示出来。 </p>
<p><em>EndAddress</em> </p>
<p style="MARGIN-LEFT: 21pt"><em>(仅x86 或x64 目标机; 仅Windows NT 4.0 和Windows&nbsp;2000)</em> 指定某个范围的结束的虚拟地址。该范围内的所有页表都会被显示出来。 </p>
<h4>DLL </h4>
<div>
<table style="BORDER-COLLAPSE: collapse" border=0>
    <colgroup>
    <col style="WIDTH: 151px">
    <col style="WIDTH: 170px"></colgroup>
    <tbody vAlign=top>
        <tr>
            <td style="BORDER-RIGHT: black 0.5pt solid; PADDING-RIGHT: 7px; BORDER-TOP: black 0.5pt solid; PADDING-LEFT: 7px; BORDER-LEFT: black 0.5pt solid; BORDER-BOTTOM: black 0.5pt solid">
            <p><strong>Windows&nbsp;NT&nbsp;4.0</strong></p>
            </td>
            <td style="BORDER-RIGHT: black 0.5pt solid; PADDING-RIGHT: 7px; BORDER-TOP: black 0.5pt solid; PADDING-LEFT: 7px; BORDER-LEFT: medium none; BORDER-BOTTOM: black 0.5pt solid">
            <p><em>Kdextx86.dll</em></p>
            </td>
        </tr>
        <tr>
            <td style="BORDER-RIGHT: black 0.5pt solid; PADDING-RIGHT: 7px; BORDER-TOP: medium none; PADDING-LEFT: 7px; BORDER-LEFT: black 0.5pt solid; BORDER-BOTTOM: black 0.5pt solid">
            <p><strong>Windows&nbsp;2000</strong></p>
            </td>
            <td style="BORDER-RIGHT: black 0.5pt solid; PADDING-RIGHT: 7px; BORDER-TOP: medium none; PADDING-LEFT: 7px; BORDER-LEFT: medium none; BORDER-BOTTOM: black 0.5pt solid">
            <p><em>Kdextx86.dll</em></p>
            </td>
        </tr>
        <tr>
            <td style="BORDER-RIGHT: black 0.5pt solid; PADDING-RIGHT: 7px; BORDER-TOP: medium none; PADDING-LEFT: 7px; BORDER-LEFT: black 0.5pt solid; BORDER-BOTTOM: black 0.5pt solid">
            <p><strong>Windows&nbsp;XP和之后</strong></p>
            </td>
            <td style="BORDER-RIGHT: black 0.5pt solid; PADDING-RIGHT: 7px; BORDER-TOP: medium none; PADDING-LEFT: 7px; BORDER-LEFT: medium none; BORDER-BOTTOM: black 0.5pt solid">
            <p><em>Kdexts.dll</em></p>
            </td>
        </tr>
    </tbody>
</table>
</div>
<h4>注释 </h4>
<p style="MARGIN-LEFT: 21pt">如果指定了一个参数，并且该参数是一个用于保存页表的内存区域中的地址，那么调试器将它当作一个<em>PTE</em>参数。该参数被当作要查看的PTE的实际地址，调试器会显示该PTE以及相应的PDE。 </p>
<p style="MARGIN-LEFT: 21pt">如果指定的参数不在这个范围内，调试器把它当作<em>VirtualAddress</em>。会显示用于映射这个地址的PTE和PDE。 </p>
<p style="MARGIN-LEFT: 21pt">如果指定了两个参数，并且第二个参数是<strong>1</strong> (或者更小的数字)，调试器将第一个参数当作<em>LiteralAddress</em>。这个地址会被当作PTE或者PDE的实际地址，并且显示相应的数据(可能是错误的)。 </p>
<p style="MARGIN-LEFT: 21pt"><em>(仅x86 或x64目标机)</em> 如果提供了两个参数，并且第二个参数比第一个大，调试器将它们当作<em>StartAddress</em> 和<em>EndAddress</em>。命令会显示指定的内存范围中每个页面的PTE。 </p>
<p style="MARGIN-LEFT: 21pt">使用<a href="mk:@MSITStore:D:\Program%20Files\Debugging%20Tools%20for%20Windows\debugger.chm::/hh/Debugger/r29_exts_kernel_q_d8bb5cc1-b88c-49dd-b74a-0b0acfb2a943.xml.htm"><strong>!sysptes</strong></a>扩展命令查看所有系统PTE的列表。 </p>
<p style="MARGIN-LEFT: 21pt">下面是x86目标机上的示例： </p>
<p style="MARGIN-LEFT: 21pt"><span style="COLOR: #660000; FONT-FAMILY: Courier New">kd&gt;&nbsp;<strong>!pte&nbsp;801544f4</strong><br>801544F4&nbsp;&nbsp;-&nbsp;PDE&nbsp;at&nbsp;C0300800&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PTE&nbsp;at&nbsp;C0200550<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;contains&nbsp;0003B163&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;contains&nbsp;00154121<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pfn&nbsp;3b&nbsp;G-DA--KWV&nbsp;&nbsp;&nbsp;&nbsp;pfn&nbsp;154&nbsp;G--A--KRV<br><br></span></p>
<p style="MARGIN-LEFT: 21pt">输出的第一行会再次显示被查看的虚拟地址。然后是包含该地址内存映射(virtual-physical mapping)信息的PDE和PTE的虚拟地址。<span style="FONT-FAMILY: 宋体"> </span></p>
<p style="MARGIN-LEFT: 21pt">第二行是PDE和PTE的实际内容。 </p>
<p style="MARGIN-LEFT: 21pt">第三行是对这些内容的分析，将它们分解成页面帧序号(PFN)和状态位(status bits)。 </p>
<p style="MARGIN-LEFT: 21pt">查看 <a href="mk:@MSITStore:D:\Program%20Files\Debugging%20Tools%20for%20Windows\debugger.chm::/hh/Debugger/r28_exts_kernel_n_2e92f05e-6ac8-4ebb-9a15-dfa5361d0091.xml.htm"><strong>!pfn</strong></a>扩展命令或者 <a href="mk:@MSITStore:D:\Program%20Files\Debugging%20Tools%20for%20Windows\debugger.chm::/hh/Debugger/t01_basic_d3a32249-4872-4355-acf2-45e4743c4d66.xml.htm">将虚拟地址转换成物理地址</a>小节来获得如何理解和使用PFN的信息。 </p>
<p style="MARGIN-LEFT: 21pt">在x86和x64目标机上，PDE和PTE的状态位在下表中列出。<strong>!pte</strong> 的显示会用大写字母或者虚线来表示这些位，并且还添加其他信息。 </p>
<div style="MARGIN-LEFT: 21pt">
<table style="BORDER-COLLAPSE: collapse" border=0>
    <colgroup>
    <col style="WIDTH: 68px">
    <col style="WIDTH: 75px">
    <col style="WIDTH: 75px">
    <col style="WIDTH: 344px"></colgroup>
    <tbody vAlign=top>
        <tr style="BACKGROUND: #bfbfbf">
            <td style="BORDER-RIGHT: black 0.5pt solid; PADDING-RIGHT: 7px; BORDER-TOP: black 0.5pt solid; PADDING-LEFT: 7px; BORDER-LEFT: black 0.5pt solid; BORDER-BOTTOM: black 0.5pt solid">
            <p><strong>位</strong></p>
            </td>
            <td style="BORDER-RIGHT: black 0.5pt solid; PADDING-RIGHT: 7px; BORDER-TOP: black 0.5pt solid; PADDING-LEFT: 7px; BORDER-LEFT: medium none; BORDER-BOTTOM: black 0.5pt solid">
            <p style="MARGIN-LEFT: 1pt"><strong>设置时的显示</strong></p>
            </td>
            <td style="BORDER-RIGHT: black 0.5pt solid; PADDING-RIGHT: 7px; BORDER-TOP: black 0.5pt solid; PADDING-LEFT: 7px; BORDER-LEFT: medium none; BORDER-BOTTOM: black 0.5pt solid">
            <p style="MARGIN-LEFT: 1pt"><strong>清除时的显示</strong></p>
            </td>
            <td style="BORDER-RIGHT: black 0.5pt solid; PADDING-RIGHT: 7px; BORDER-TOP: black 0.5pt solid; PADDING-LEFT: 7px; BORDER-LEFT: medium none; BORDER-BOTTOM: black 0.5pt solid">
            <p style="MARGIN-LEFT: 1pt"><strong>意义</strong></p>
            </td>
        </tr>
        <tr>
            <td style="BORDER-RIGHT: black 0.5pt solid; PADDING-RIGHT: 7px; BORDER-TOP: medium none; PADDING-LEFT: 7px; BORDER-LEFT: black 0.5pt solid; BORDER-BOTTOM: black 0.5pt solid">
            <p>0x200</p>
            </td>
            <td style="BORDER-RIGHT: black 0.5pt solid; PADDING-RIGHT: 7px; BORDER-TOP: medium none; PADDING-LEFT: 7px; BORDER-LEFT: medium none; BORDER-BOTTOM: black 0.5pt solid">
            <p style="MARGIN-LEFT: 1pt"><strong>C</strong> </p>
            </td>
            <td style="BORDER-RIGHT: black 0.5pt solid; PADDING-RIGHT: 7px; BORDER-TOP: medium none; PADDING-LEFT: 7px; BORDER-LEFT: medium none; BORDER-BOTTOM: black 0.5pt solid">
            <p style="MARGIN-LEFT: 1pt"><strong>-</strong> </p>
            </td>
            <td style="BORDER-RIGHT: black 0.5pt solid; PADDING-RIGHT: 7px; BORDER-TOP: medium none; PADDING-LEFT: 7px; BORDER-LEFT: medium none; BORDER-BOTTOM: black 0.5pt solid">
            <p style="MARGIN-LEFT: 1pt">写时复制(Copy on write)</p>
            </td>
        </tr>
        <tr>
            <td style="BORDER-RIGHT: black 0.5pt solid; PADDING-RIGHT: 7px; BORDER-TOP: medium none; PADDING-LEFT: 7px; BORDER-LEFT: black 0.5pt solid; BORDER-BOTTOM: black 0.5pt solid">
            <p>0x100 </p>
            </td>
            <td style="BORDER-RIGHT: black 0.5pt solid; PADDING-RIGHT: 7px; BORDER-TOP: medium none; PADDING-LEFT: 7px; BORDER-LEFT: medium none; BORDER-BOTTOM: black 0.5pt solid">
            <p style="MARGIN-LEFT: 1pt"><strong>G</strong> </p>
            </td>
            <td style="BORDER-RIGHT: black 0.5pt solid; PADDING-RIGHT: 7px; BORDER-TOP: medium none; PADDING-LEFT: 7px; BORDER-LEFT: medium none; BORDER-BOTTOM: black 0.5pt solid">
            <p style="MARGIN-LEFT: 1pt"><strong>-</strong> </p>
            </td>
            <td style="BORDER-RIGHT: black 0.5pt solid; PADDING-RIGHT: 7px; BORDER-TOP: medium none; PADDING-LEFT: 7px; BORDER-LEFT: medium none; BORDER-BOTTOM: black 0.5pt solid">
            <p style="MARGIN-LEFT: 1pt">全局页面(Global)</p>
            </td>
        </tr>
        <tr>
            <td style="BORDER-RIGHT: black 0.5pt solid; PADDING-RIGHT: 7px; BORDER-TOP: medium none; PADDING-LEFT: 7px; BORDER-LEFT: black 0.5pt solid; BORDER-BOTTOM: black 0.5pt solid">
            <p>0x80 </p>
            </td>
            <td style="BORDER-RIGHT: black 0.5pt solid; PADDING-RIGHT: 7px; BORDER-TOP: medium none; PADDING-LEFT: 7px; BORDER-LEFT: medium none; BORDER-BOTTOM: black 0.5pt solid">
            <p style="MARGIN-LEFT: 1pt"><strong>L</strong> </p>
            </td>
            <td style="BORDER-RIGHT: black 0.5pt solid; PADDING-RIGHT: 7px; BOR