WinDbg 图形界面功能(二)
1.2、编辑菜单
这个菜单可以提供Windbg里的各功能窗口的可选文本的编辑功能,比如源代码窗口、命令窗口等提供选择、复制、剪切和黏贴等基础编辑功能。
- 剪切
单击剪切上编辑菜单中,删除所选的任何文本并将其移动到剪贴板。此命令是等效于按下 CTRL + X 或 SHIFT + DELETE,或单击剪切 (Ctrl + X) 按钮 () 工具栏上。可以使用剪切命令编辑菜单仅与停靠或选项卡式窗口,但可以与支持此功能的任何窗口使用键盘快捷方式和工具栏按钮。
- 复制
单击副本上编辑菜单将所选的任何文本复制到剪贴板。此命令相当于按 CTRL + C 或 CTRL + INSERT 或单击复制 (Ctrl + C) 按钮 () 工具栏上。可以使用复制命令仅使用停靠或选项卡式窗口。 与所有窗口都支持此功能,可以使用键盘快捷方式和工具栏按钮。
- 粘贴
单击粘贴上编辑菜单粘贴剪贴板中当前光标位置到的文本。此命令相当于按 CTRL + V 或 SHIFT + INSERT 或单击粘贴 (Ctrl + V) 按钮 () 工具栏上。可以使用粘贴命令仅使用停靠或选项卡式窗口。 但您可以与支持此功能的任何窗口使用键盘快捷方式和工具栏按钮。
- 全选
单击全上编辑菜单中进行选择的所有文本处于活动状态调试器命令窗口,反汇编窗口, 源窗口,或对话框。此命令相当于按 CTRL + A。
- 窗口中的文本写入文件
单击向文件写入窗口文本上编辑菜单保存到文件活动的调试信息窗口中的所有文本。此命令是活动窗口才可用调试器命令窗口,调用窗口,或从头开始板。当您单击写入到文件的 Windows 文本,则向文件写入窗口文本对话框随即出现。
在此对话框中,输入你想要将窗口文本保存的文件的名称。 可以在浏览将保存在列出的目录,您想应用程序或选择你想要覆盖特定文件。 默认文件扩展名为.txt。单击保存以保存该文件,或单击取消退出。 - 添加到命令输出
单击将添加到命令输出上编辑菜单中要插入到注释调试器命令窗口。键入到注释文本框,然后单击确定。您的评论显示在调试器命令窗口和任何打开的日志文件中。 但是,注释不会不会显示在任何远程连接到你的会话的 Windows 调试器中。
清除命令
单击清除命令输出上编辑菜单上,以清除所有从文本调试器命令窗口和清除命令历史记录。- 评估所选内容
单击评估所选内容上编辑菜单来评估中的当前选定源窗口并显示在结果调试器命令窗口。此命令相当于按下 CTRL + SHIFT + V,单击评估所选内容在源窗口的快捷菜单上,或使用??(评估C++表达式)命令及作为其参数的所选文本。如果所选的文本中包含多个行,会产生语法错误。 如果在源窗口中不选择任何文本,则不能使用此命令。
- 显示所选类型
单击显示所选类型上编辑菜单中的当前选定的数据类型确定源窗口并显示在类型调试器命令窗口。此命令相当于按 CTRL + SHIFT + Y 或单击显示所选的类型源窗口的快捷菜单上。如果所选的文本包括多个单个对象,可能会显示语法错误或其他异常结果。 如果在源窗口中不选择任何文本,则不能使用此命令。
- 查找
单击查找上编辑菜单在活动的调试信息窗口中查找文本。请注意 必须是活动窗口调试器命令窗口或源窗口。此命令相当于按下 CTRL + F。当您单击查找,则查找对话框随即出现。
在此对话框中,在查找内容框中,输入你想要查找的文本。 如果已经选择的文本,此文本将自动显示在查找内容框。在中方向区域中,单击向上或下指定你的搜索方向。 只要光标位于窗口开始执行搜索。 通过使用鼠标指针,可以将光标放在任何位置。选择仅全字匹配如果你想要搜索整个单词。 (如果在多个字词搜索时选择此选项,您一定会收到搜索失败。))选择区分大小写执行区分大小写的搜索。查找命令只会更改 WinDbg 显示。 此命令不会影响目标或任何其他调试器操作的执行。关闭后查找对话框中,您可以通过使用重复向前搜索编辑 |查找下一个命令或按 f3 键。 您可以通过按 SHIFT + F3 重复向后的搜索。 - 查找下一个
单击查找下一步上编辑菜单可重复执行上一个搜索和查找下一个匹配项。此命令相当于按 f3 键。若要重复执行向后的搜索,请按 SHIFT + F3。如果以前未执行任何搜索,使用编辑 |查找下一步命令,请按 f3 键,或按 SHIFT + F3 以打开查找对话框中 (类似于编辑 |查找命令)。
- 转到地址
单击转到地址上编辑菜单转到目标的虚拟地址空间中的地址。此命令相当于按下 CTRL + G。当您单击转到地址,则查看代码的偏移量对话框随即出现。
在此对话框中,输入你想要将移动到的地址。 此地址可以是 (如函数、 符号或整数的内存地址) 的表达式或任何有效的地址的表达式。 如果地址是不明确,对话框将显示一个列表,其中包含所有不明确的项。请注意 如果将光标放在行内反汇编窗口或源窗口,然后使用转到地址命令,所选行的地址将出现在视图代码偏移量对话框。 可以使用此地址,也可以替换所选的任何地址。单击后确定,调试器会插入符号 (^) 移动到开头的函数或在反汇编窗口或源窗口中的地址。可以使用转到地址命令在当前处于活动状态的任何窗口中。 如果调试器在反汇编模式下,WinDbg 在反汇编窗口中查找的地址。 如果调试器在源文件模式下,WinDbg 在源窗口中查找的地址。 如果在源窗口中找不到该地址,WinDbg 将查找其在反汇编窗口中。 如果在相应的窗口未打开,WinDbg 将打开它。转到地址命令只会更改 WinDbg 显示。 此命令不会影响目标或任何其他调试器操作的执行。 - 转到行
单击转到行上编辑菜单在当前活动中搜索的特定行源窗口。 如果活动窗口不是源窗口,则此命令无效。此命令相当于按下 CTRL + L。当您单击转到行,则转到行对话框随即出现。
在此对话框中,输入你想要查找,然后单击的行号确定。 调试器会将插入符号 (^) 移动到该行。 如果大于文件中的最后一行的行号,光标将移动到文件末尾。转到行命令只会更改 WinDbg 显示。 此命令不会影响目标或任何其他调试器操作的执行。 - 转到当前指令
单击转到当前指令上编辑菜单可打开包含当前指令的调试信息窗口,从而突出显示此指令。此命令相当于按下 ALT + 星号 (使用数字键盘上的星号键)。如果当前指令对应于一个已知的源代码文件,将打开 WinDbg源窗口,其中包含此源文件。 如果不存在任何此类窗口,WinDbg 将打开一个。 突出显示当前行。如果当前指令不是已知的源代码文件中的和反汇编窗口是打开,请突出显示反汇编窗口和当前行的 WinDbg 随即打开。 但是,如果反汇编窗口已关闭,则转到当前指令命令不会打开。此命令仅更改 WinDbg 显示。 此命令不会影响目标或任何其他调试器操作的执行。
- 设置当前指令
单击设置当前指令上编辑菜单指令指针的值更改为对应于当前行处于活动状态的指令源窗口.此命令相当于按 CTRL + SHIFT + I 或单击到当前行集指令指针源窗口的快捷菜单上。
- 断点管理
单击断点上编辑菜单来显示或控制断点。此命令相当于按 ALT + F9。 如果源窗口或反汇编窗口是未处于活动状态,还可以按 f9 或单击插入或删除断点 (f9) 按钮 () 工具栏上。但是,如果源窗口或反汇编窗口打开,请插入或删除断点 (F9) 按钮和 F9 键的当前行上设置断点。 (如果已经在当前行设置断点,此按钮或键将删除断点。)如果语句或调用跨多个行,WinDbg 在语句或调用的最后一行上设置断点。 应插入脱字号 (^),或要为整个语句设置断点的语句之前。 如果调试器无法在当前插入符号位置设置断点,它将在下一步允许位置的向下方向中搜索和插入断点存在。
当您单击断点,则断点对话框随即出现。
此对话框中显示所有当前断点信息,并且显示在以下列:
断点数。 此数字是可用于后续命令中的断点是指一个十进制数。
断点的状态。 此状态可以是e (启用) 或d (禁用)。
(仅未解析的断点)以字母u。 如果断点是无法解析的会出现此字母 (即,它不匹配任何当前加载的模块地址)。 有关详细信息,请参阅无法解析断点 (bu 断点)。
断点虚拟地址。 如果已启用的源行号的加载,显示内容包括文件和行号信息而不是地址的偏移量。 如果无法解析该断点,该地址会出现在末尾而不是此处的列表。
(仅适用于处理器断点)类型和大小的信息。 此信息可以是e (执行), r (读/写), w (写入) 或我(输入/输出)。 这些类型后面带有块,以字节为单位的大小。 有关详细信息,请参阅处理器断点 (ba 断点)。
将该断点处于活动状态,直到剩余传递数后跟在括号中传递的初始数量。 程序计数器传递但不会中断的断点的次数是一个小于此数值的值。 因此,此数字是永远不会小于 1。 另请注意此数计数只能通过此点的应用程序执行的时间。 换而言之,不会计逐过程执行此点。 已达到最大计数后,您可以重置计数仅清除和重置断点。
关联的进程和线程。 如果线程提供有三个星号 (***),此断点不是特定于线程的断点。
模块和函数,使用的偏移量,对应于断点地址。 如果无法解析该断点,断点地址显示在这里,在括号中。 如果是有效的地址上设置断点,但缺少的符号信息,此列将为空。
命中此断点时自动执行的命令字符串。 此命令字符串显示在引号中。 如果到达断点时,此命令字符串中的命令执行,直到恢复应用程序执行的位置。 任一命令继续执行程序 (如g或t) 将停止执行命令列表。
如果选择任何断点,然后可以单击删除,禁用,或启用按钮。 删除按钮中永久删除的断点。 禁用按钮暂时停用断点。 启用按钮将重新启用已禁用的断点。
全部删除按钮会将永久删除所有断点。
您还可以输入中的命令命令框中的以下方法:
如果输入最佳实践 (设置断点), bu (设置无法解析断点), bm (设置符号断点), ba (中断的访问权限), bc (清除断点), bd (禁用断点),或是 (启用断点)命令命令框工作起来就好像你正在输入中的命令调试器命令窗口。 但是,命令本身必须以小写字母。 该命令不能以一个线程说明符开头。 如果你想要使用的线程说明符中, 输入线程不初始颚化符 (~)。
如果输入的任何其他文本,文本视为的参数字符串bu (设置无法解析断点)命令。 也就是说,调试器前缀与你的参赛bu和一个空格,然后执行它作为命令。
时输入的新断点,还可以执行以下操作:
- 打开/关闭日志文件
单击打开/关闭日志文件上编辑菜单写入到新的日志文件、 附加到现有的日志文件,或关闭打开的日志文件。当您单击打开/关闭日志文件,则打开/关闭日志文件对话框随即出现。
此对话框显示当前的日志文件,如果已打开。如果日志文件名称框为空,则可以输入日志文件名称。 如果此文件已存在,WinDbg 将覆盖现有文件,除非已选择追加复选框。 如果指定文件名称,但没有路径,WinDbg 将文件放在开始从 WinDbg 的默认目录中。如果日志文件名称框中已显示文件名称,可以单击关闭打开的日志文件关闭此文件。 如果清除日志文件名称框并输入新的日志文件名称,将关闭以前的日志文件。单击确定以保存更改,或单击取消放弃更改。如果单击确定任何日志文件名称中出现时日志文件名称框中,它不起作用。 也就是说,WinDbg 不关闭日志文件或打开日志文件。
但是,如果日志文件已处于活动状态并且单击确定而无需清除其名称或选择追加,WinDbg 中删除日志文件,并使用具有相同名称的新文件。
1.3、视图菜单
我们要看哪些功能窗口,可以在这个菜单下去找相应的菜单。
- 命令窗口
单击命令上视图菜单打开调试器命令窗口。 如果此窗口已打开,变为活动状态。此命令相当于按下 ALT + 1 或单击命令 (Alt + 1) 按钮 () 工具栏上。
- 监视窗口
单击Watch上视图菜单以打开监视窗口。 如果此窗口已打开,变为活动状态。此命令相当于按下 ALT + 2 或单击Watch (Alt + 2) 按钮 () 工具栏上。
- 局部变量
单击局部变量上视图菜单以打开局部变量窗口。 如果此窗口已打开,变为活动状态。此命令相当于按下 ALT + 3 或单击局部变量 (Alt + 3) 按钮 () 工具栏上。有关此窗口及其用法的详细信息,请参阅局部变量窗口。
- 寄存器
单击注册上视图菜单打开寄存器窗口。 如果此窗口已打开,变为活动状态。此命令相当于按下 ALT + 4 或单击寄存器 (Alt + 4) 按钮 () 工具栏上。
- 内存
单击内存上视图菜单打开一个新内存窗口。请注意 可以有多个内存窗口同时打开。 每个窗口可以显示不同的区域的内存。 仅内存窗口和源窗口具有此功能。 所有其他调试信息窗口被限制为单个实例。视图命令等效于按 ALT + 5 或单击内存窗口 (Alt + 5) 按钮 () 工具栏上。
- 调用堆栈
单击调用堆栈上视图菜单打开调用窗口。 如果此窗口已打开,变为活动状态。此命令相当于按下 ALT + 6 或单击调用堆栈 (Alt + 6) 按钮 () 工具栏上。
- 反汇编
单击反汇编上视图菜单打开反汇编窗口。 如果此窗口已打开,变为活动状态。此命令相当于按下 ALT + 7 或单击反汇编 (Alt + 7) 按钮 () 工具栏上。
- 暂存器
单击便笺上视图菜单打开便笺。 如果此窗口已打开,变为活动状态。此命令相当于按下 ALT + 8 或单击草稿板 (Alt + 8) 按钮 () 工具栏上。
- 进程/线程
单击进程和线程上视图菜单打开进程和线程窗口。 如果此窗口已打开,变为活动状态。此命令相当于按下 ALT + 9 或单击进程和线程 (Alt + 9) 按钮 () 工具栏上。
- 命令浏览器
单击命令浏览器上视图菜单打开命令浏览器窗口。 如果此窗口已打开,变为活动状态。此命令相当于按 CTRL + N 或单击命令浏览器 (Ctrl + N) 按钮 () 工具栏上。
- 详细输出
单击详细输出上视图菜单启用详细模式下打开和关闭。此命令相当于按下 CTRL + ALT + V。 (和 KD 中按 CTRL + V)。启用详细模式后,某些显示的命令 (例如注册转储) 生成更详细的输出。 显示发送到调试器的每个模块加载操作。 并且每次将驱动程序或 DLL 加载的操作系统,调试器会通知。
- 显示版本
单击显示版本上视图菜单可显示的调试器和所有已加载的扩展 Dll 的版本信息。 此信息显示在调试器命令窗口。此命令相当于按下 CTRL + ALT + W (并按 CTRL + W 中 KD)。此命令具有相同的效果版本 (显示调试器版本)命令,只不过后一种命令还会显示 Microsoft Windows 操作系统的版本。
- 工具栏
选中或清除工具栏上视图菜单可导致工具栏以显示或消失。 - 状态栏
选中或清除状态栏上视图菜单使状态栏变得可见或不可见。 - 字体
单击字体上视图菜单更改显示在调试窗口中的信息的字体。此命令是等效于单击字体按钮 () 工具栏上。当您单击字体,则字体对话框随即出现。
在此对话框中,您可以对从适当的列表中,选择字体、 样式和大小。 此外可以从下拉列表菜单,以获取相应的字母表中选择的脚本。 若要接受所做的更改,请单击确定。单击取消可取消对字体更改。 - 选项
单击选项上视图菜单打开选项对话框。 此命令等效于单击的按钮 () 工具栏上。在中选项对话框中,可以选择或取消选择以下选项:
选项卡宽度
选项卡宽度框控制的制表符字符数在任何源窗口中的显示方式。 在中选项卡宽度框中,输入你想要具有每个选项卡设置之间的空格数。 (默认设置为 8。 文本属性的详细信息,请参阅更改文本属性。)打开此多后重复使用
打开此多后的重用框控制的文档或源,可以同时打开的窗口数。 如果已达到指定的数目的源窗口,打开一个新的窗口会导致现有窗口关闭。 标记为选项卡形式停靠目标,请不要关闭 Windows。 若要关闭的最后一个 windows 是最近使用的。分析源代码语言
如果分析源语言复选框处于选中状态,根据 simple 分析的源语法进行着色的所有源窗口中的源代码文本。 若要更改颜色,在颜色区域中的对话框中,选择一个语法元素,然后单击更改。 (若要在单个源窗口关闭语法颜色,请打开该窗口的快捷菜单,单击选择源语言,然后单击 <None>。)悬停时的评估
如果悬停时的 Evaluate复选框处于选中状态 (和分析源代码语言同时选中复选框),将计算源窗口中的符号,当您选择该窗口,然后将鼠标悬停使用鼠标的符号。 计算的是与生成的相同dt (显示类型)命令。输入重复最后一个命令
如果Enter 重复最后一个命令复选框处于选中状态,可以按 ENTER 键在空中提示调试器命令窗口重复前一命令。 如果清除此复选框,ENTER 键,会生成新提示。自动滚动
自动滚动复选框控制自动滚动的新文本发送到调试器命令窗口时发生。 如果你想要关闭此功能,请清除自动滚动复选框。 有关此滚动的详细信息,请参阅使用调试器命令。工作区的提示
在中工作区会提示区域中,您可以单击三个选项之一来确定时间和频率在 WinDbg 中保存工作区。
如果单击总是询问,当工作区更改 (例如当调试会话结束时),调试器将显示工作区保存对话框中,您可以在其中保存工作区。
在工作区保存对话框中,如果单击不要再询问,WinDbg 将重置工作区会提示选项设置为永远不会保存或始终保存。
如果单击始终保存,发生更改时自动保存在工作区。
如果单击永远不会保存,工作区时不会保存更改,并不提示将其保存。
快速编辑模式
如果QuickEdit 模式复选框处于选中状态,可以右键单击要复制或粘贴到,具体取决于窗口中选择状态的项。 当清除此项检查时,快速编辑已禁用,可以右键单击要打开窗口的快捷菜单的项。 不能为单个窗口提供不同的设置;快速编辑设置全局适用于所有窗口。 默认情况下,选中此框。 快速编辑设置保存在当前工作区中。颜色
若要更改显示的源文本的颜色,请选择一项颜色然后单击更改。 选择一种颜色,或选择自定义颜色,然后单击确定。在中颜色菜单中,您可以更改以下各项的颜色:
更改数据文本项表示已更改的数据条目 (例如,在寄存器窗口)。
前十位源 Xxx项控制用于在源窗口中的语法元素的颜色。
剩余的项目引用不同类型的调试器命令窗口中的文本。
这些颜色更改为才会生效,当您单击时确定。 若要放弃这些更改,请单击取消。 - 源代码文件扩展名
单击源语言文件扩展名上视图菜单可控制 WinDbg 会识别为源文件扩展名的文件扩展名。 此外可以指定哪些编程语言都是与文件扩展名相关联。当您单击源语言文件扩展名,则源语言的文件扩展名对话框随即出现。
在此对话框中,您可以添加或删除文件扩展名的方法是插入在游标扩展和语言框并键入相应的信息。 请确保指定适当的编程语言为每个文件扩展名。 例如, cxx =C++ 表示.cxx 文件扩展名为源文件,并且使用该扩展的任何文件的编程语言,在相应的已C++。 单击确定实现所做的更改,或单击取消要放弃所有更改。 - Windbg命令行
单击WinDbg 命令行上视图菜单可显示用于打开当前的 WinDbg 会话的命令。此命令显示在小消息窗口中。 单击确定若要关闭此窗口。