分类 调试 下的文章

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

打开便笺簿

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

使用便笺簿

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

 

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

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

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

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

 

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

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

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

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

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

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

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

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

  • 关闭关闭此窗口。

在 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 调试工具文档中打开此主题。

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

七、线程列表流(ThreadListStream)

ThreadListStream流包含线程核心信息。它紧挨着异常信息流(ExceptionStream)。

异常信息流如下

 

0x678+0n168=0x720。而线程列表流如下

 

可知偏移是0x720,即证明杂项信息流是紧挨着系统信息流,大小有3796字节。

ThreadListStream包含的数据结构如下:

typedef struct_MINIDUMP_THREAD_LIST {
ULONG32 NumberOfThreads;
MINIDUMP_THREAD Threads[
0];
} MINIDUMP_THREAD_LIST,
*PMINIDUMP_THREAD_LIST;

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

如何打开进程和线程窗口

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

使用进程和线程窗口

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

 

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

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

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

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

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