wenmo8 发布的文章

寄存器是位于在 CPU 的小易失性内存单位。 许多寄存器专用于特定用途,并可用于用户模式应用程序使用的其他寄存器。 基于 x86 和基于 x64 的处理器在有可用的寄存器的不同集合。

如何打开寄存器窗口

  • 通过菜单View--->Registers

     

     

  • 通过快捷键Alt+4
  • 通过工具栏

寄存器窗口

通过上面方式打开的窗口如下:

 

寄存器窗口包含两个列。 Reg列列出了所有目标处理器的寄存器。 Value列显示每个注册的当前值。 此窗口还包含自定义按钮在工具栏上,打开自定义注册列表对话框:

 

在寄存器窗口中,可以执行以下操作:

  • Value列显示每个注册的当前值。 以红色文本显示的最近更改的寄存器的值。


    • 若要输入新值,请双击单元格,然后键入新值或编辑旧值。 (剪切、 复制和粘贴命令是可用来进行编辑。)
    • 若要保存新值,请按 ENTER。
    • 若要放弃的新值,请按 ESC。
    • 如果键入无效的值,按 ENTER 键时,将重新出现的旧值。
  • 寄存器值显示在当前的基数,并且必须在相同的基数中键入新值。 若要更改当前的基数,请使用n (设置数量 Base)命令在调试器命令窗口中。

  • 在用户模式下,寄存器窗口显示与当前线程相关联的寄存器。 

  • 在内核模式下,寄存器窗口显示与当前相关联的寄存器注册上下文可以设置寄存器上下文以匹配特定线程、 上下文记录或捕获帧。 实际显示仅指定的寄存器上下文的最重要寄存器;不能更改它们的值。

寄存器窗口已包含一个工具栏自定义按钮和具有带其他命令的快捷菜单。 若要访问菜单,请右键单击标题栏或单击窗口右上角附近的图标 (用于显示寄存器窗口快捷菜单的按钮图标的屏幕截图)。 工具栏和菜单包含以下按钮和命令:

  • (工具栏和菜单)自定义会打开自定义寄存器列表对话框中,在本主题中的以下部分中所述。

  • (仅限菜单)工具栏工具栏,开启和关闭。

  • (仅限菜单)停靠取消停靠将使窗口进入或离开停靠的状态。

  • (仅限菜单)移到新停靠寄存器窗口将关闭,并将其打开新的平台中。

  • (仅限菜单)设置为选项卡形式停靠为窗口中,键入目标不可用于寄存器窗口。 此选项才可用的源或内存窗口。

  • (仅限菜单)始终浮点将使窗口停靠,即使仍拖到停靠位置。

  • (仅限菜单)移动与帧将使窗口移动时移动的 WinDbg 帧,即使在窗口已解除固定。 

  • (仅限菜单)帮助有关 Windows 调试工具文档中打开此主题。

  • (仅限菜单)关闭关闭此窗口。

自定义寄存器列表对话框

若要更改显示的寄存器的列表,请单击自定义按钮。 自定义寄存器列表对话框将出现。在此对话框中,可以编辑的寄存器,若要更改的寄存器的显示的顺序的列表。 (不能实际从列表中删除寄存器; 如果这样做,它将结束时重新出现。)寄存器名称之间必须留一个空格。如果选择修改显示首次寄存器复选框,其值已更改的寄存器最近显示在顶部。如果选择不会显示 subregisters复选框,subregisters 不会显示。 例如, eax将显示,但不是axah,或者al单击确定以保存所做的更改或取消放弃所做的更改。如果你正在调试多个类型的处理器的多处理器计算机,WinDbg 将单独存储每个处理器类型的自定义设置。 这种分离使您可以同时自定义的每个处理器的寄存器的显示。

在 WinDbg 中,进程和线程窗口中显示有关系统、 进程和线程正在调试的信息。 此窗口还可选择新的系统、 进程和线程处于活动状态。

如何打开进程和线程窗口

  • 通过菜单View--->Processes and Threads
  • 快捷键Alt+9
  • 通过工具栏

使用进程和线程窗口

通过上面的方式打开的窗口如下:

 

“进程和线程”窗口显示当前正在调试的所有进程的列表。进程中的线程出现在每个进程下。如果调试器附加到多个系统,则系统显示在树的顶层,进程从属于它们,线程从属于进程。每个系统列表都包含服务器名和协议详细信息。运行调试器的系统被标识为<Local>。每个进程列表都包含调试器使用的内部十进制进程索引、十六进制进程ID和与该进程关联的应用程序的名称。每个线程列表包括调试器使用的内部十进制线程索引和十六进制线程ID。

在进程和线程窗口中,当前或处于活动状态的系统、 进程和线程以粗体显示。 若要使新的系统、 进程或线程处于活动状态,请单击窗口中的一行。进程和线程窗口具有带其他命令的快捷方式菜单。 若要访问菜单,请右键单击标题栏或单击窗口 (在右上角附近的图标显示的草稿板窗口工具栏快捷方式菜单按钮的屏幕截图)。 以下列表介绍了一些菜单命令:

  • 移到新停靠关闭进程和线程窗口中,并将其打开新的平台中。

  • 始终浮点将使窗口停靠,即使仍拖到停靠位置。

  • 移动与帧将使窗口移动时移动的 WinDbg 帧,即使在窗口已解除固定。

在 WinDbg 中,可以查看和编辑内存,通过输入命令或通过使用内存窗口

内存窗口的打开

  • 通过菜单View-->Memory
  • 通过快捷键Alt+5
  • 通过工具栏

使用内存窗口

通过上面方式打开的窗口如下:

 

 

内存窗口显示多个列中的数据。 在窗口的左侧列显示每个行的开始地址。 其余列显示所需的信息,从左到右。 如果选择字节显示格式菜单中,对应于这两个字节的 ASCII 字符将显示在窗口的右侧。

请注意  默认情况下,内存窗口显示虚拟内存。 这种类型是内存的内存的在用户模式下可用的唯一类型。 在内核模式下,可以使用内存选项对话框以显示物理内存和其他数据空间。

在内存窗口中,可以执行以下操作:

  • 若要写入内存,请单击内存窗口并键入新数据。 您可以编辑仅十六进制数据,不能直接编辑 ASCII 和 Unicode 字符。 只要键入新的信息,更改才会生效。

  • 若要查看的其他部分的内存,请使用内存窗口工具栏上PreviousNext按钮()的或按 PAGE UP 或 PAGE DOWN 键。 这些按钮和密钥显示内存立即前面或后面的部分。 如果请求了无效的页面,将显示一条错误消息。

  • 若要导航窗口中,使用向右键、 向左键、 向上键和向下箭头键。 如果使用这些密钥来离开页面时,会显示一个新页面。 在使用这些密钥之前,应调整大小内存窗口,以便它不会包含滚动条。 此大小调整,可区分的实际页边缘和截止窗口。

  • 若要更改正在查看的内存位置,内存窗口顶部的地址框()中输入新的地址。 请注意内存窗口刷新其显示,而您输入一个地址,因此之前已完成键入地址,可获得错误消息。 请注意  中当前基数解释在框中输入的地址。 如果当前的基数不是 16,您应前缀与十六进制地址0x若要更改默认基数,请使用n (设置数量 Base)命令在调试器命令窗口中。 内存窗口本身中的显示不受当前的基数。

  • 若要更改窗口用于显示内存的数据类型,请使用内存窗口工具栏中的菜单显示格式(

    )。 支持的数据类型包括短单词、 双字和四字;short、 long,与四整数和无符号的整数;10 字节、 16 个字节,32 位和 64 字节实数;ASCII 字符;Unicode 字符;和十六进制字节。 十六进制字节的显示内容包括 ASCII 字符和。

内存窗口具有一个包含两个按钮、 菜单和一个框,但与其他命令的快捷菜单的工具栏。 若要访问菜单,请右键单击标题栏或单击窗口 (在右上角附近的图标显示内存窗口工具栏上的快捷菜单按钮的屏幕截图)。 工具栏和快捷菜单包含以下几种选择:

  • (仅工具栏)地址框中,可指定新的地址或偏移量。 此框的确切含义取决于正在查看的内存类型。 例如,如果您正在查看虚拟内存,框中,可指定新的虚拟地址或偏移量。

  • (仅工具栏)显示格式使您能够选择新的显示格式。

  • (工具栏和菜单)Previous(在工具栏上) 和Previous page(在快捷菜单上) 会导致内存要显示的上一节。

  • (工具栏和菜单)Next(在工具栏上) 和Next page(在快捷菜单上) 会导致内存要显示的下一节。

  • (仅限菜单)工具栏工具栏,开启和关闭。

  • (仅限菜单)自动调整列可确保在内存窗口中显示的列数适合内存窗口的宽度。

  • (仅限菜单)停靠取消停靠将使窗口进入或离开停靠的状态。

  • (仅限菜单)移到新停靠内存窗口将关闭,并将其打开新的平台中。

  • (仅限菜单)设置为选项卡形式停靠为窗口中,键入目标作为其他内存窗口的选项卡形式停靠目标设置所选的内存窗口。 与选项卡式的集合中该窗口将自动进行分组之后作为选项卡形式停靠目标中选择一个打开的所有内存窗口。

  • (仅限菜单)始终浮点将使窗口停靠,即使仍拖到停靠位置。

  • (仅限菜单)移动与帧将使窗口移动时移动的 WinDbg 帧,即使在窗口已解除固定。

  • (仅限菜单)属性会打开内存选项对话框中,在本主题中的以下部分中所述。

  • (仅限菜单)帮助有关 Windows 调试工具文档中打开此主题。

  • (仅限菜单)关闭关闭此窗口。

“便笺簿”窗口是一个剪贴板,您可以在其中键入和保存文本。

打开便笺簿

  • 通过菜单View--->Scratch Pad
  • 通过快捷键Alt+8
  • 通过工具栏

使用便笺簿

用上面的方式打开的窗口如下:

 

在草稿板窗口中,可以执行以下操作:

  • 若要在草稿板窗口中键入,单击窗口,然后开始键入的你想要添加的文本此外可以使用标准复制和粘贴功能。 草稿板窗口的内容不会影响调试器的操作。 此窗口存在只是为了帮助进行文本编辑。

  • 如果关闭草稿板窗口中,文本会保留,并重新打开该窗口时可用。 此外可以通过使用文件关联来保存暂存器窗口中的文本。

草稿板窗口具有带其他命令的快捷方式菜单。 若要访问菜单,请右键单击标题栏或单击窗口 (在右上角附近的图标显示的草稿板窗口工具栏快捷方式菜单按钮的屏幕截图)。 此菜单包含以下命令:

 

  • 仅限菜单)将与文件相关联打开一个对话框,可以通过它选择一个文本文件。 选择文件后,在草稿板中的当前文本被清除,并且替换为所选文件中的文本。 与此文件关联暂存器时,所有新文本键入到暂存器保存到文件。 可以结束与文件关联,或者通过选择结束文件关联快捷方式菜单选项或通过关闭并重新打开便笺。

  • (仅限菜单)结束文件关联结束与指定的文本文件的暂存器关联。 便笺中的所有文本,在选择此选项之前先都保存在文件中。 在中键入的所有文本便笺关联结束后不再保存在文本文件中。

  • 停靠取消停靠将使窗口进入或离开停靠的状态。

  • (仅限菜单)移到新停靠关闭便笺并将其打开新的平台中。

  • (仅限菜单)设置为选项卡形式停靠为窗口中,键入目标的暂存器不可用。 

  • 始终浮点将使窗口停靠,即使仍拖到停靠位置。

  • 移动与帧将使窗口移动时移动的 WinDbg 帧,即使在窗口已解除固定。 

  • 帮助有关 Windows 调试工具文档中打开此主题。

  • 关闭关闭此窗口。

命令浏览器窗口显示并存储调试器命令的文本结果。此窗口创建命令引用,使您可以查看特定命令的结果,而无需重新输入该命令。命令浏览器窗口还提供了对存储的命令的导航,因此您可以比使用调试器命令窗口更快地访问命令。

命令浏览器的打开

  • 通过菜单Veiw--->Command Browser
  • 通过快捷键Ctrl+N
  • 通过工具栏

使用命令浏览器

用上面的方式打开的窗口如下:

 

 

在命令浏览器窗口中,可以执行以下操作:

  • 若要输入命令时,其在命令键入。

  • 若要查看以前输入的命令的结果,请使用Start, Prev,Next按钮来滚动查看命令列表,从“命令”菜单中选择前20个命令之一。要查找不是前20个命令之一的命令,请使用“Next”按钮。

命令浏览器窗口具有带其他命令的快捷菜单。 若要访问菜单,请右键单击标题栏或单击窗口 (在右上角附近的图标该按钮将显示命令浏览器窗口中工具栏快捷方式菜单的屏幕截图)。 以下列表介绍了一些菜单命令:

 

 

  • Start, Prev, 和 Next将光标分别移到命令历史记录的开头或上一个或下一个命令。

  • Add to Recent Commands将当前命令放入WinDbg窗口中“视图”菜单的“最近使用的命令”菜单中。最近使用的命令保存在工作区中。

  • Toolbar工具栏,开启和关闭。

  • 移到新停靠关闭命令浏览器窗口并将其打开新的平台中。

  • 始终浮点将使窗口停靠,即使仍拖到停靠位置。

  • 移动与帧将使窗口移动时移动的 WinDbg 帧,即使在窗口已解除固定。 

其他说明

在命令浏览器窗口中输入的命令由调试器引擎执行,而不是由WinDbg用户界面执行。这意味着您不能在命令浏览器窗口中输入像.cls这样的用户界面命令。如果用户界面是远程客户端,则服务器(而不是客户端)执行该命令。在命令浏览器窗口中输入的命令将同步执行,因此在完成输出之前不会显示输出。命令浏览器窗口保存在WinDbg工作区中,但不保存命令历史记录。工作空间中仅保存每个命令浏览器窗口的当前命令。