工作区内容

每个工作区保留有关当前调试会话的以下信息。 此信息以累积方式应用,从基本工作区开始,以最近加载的工作区结束。

  • 所有中断和处理异常和事件的信息。 有关中断和处理信息的详细信息,请参阅工作区中的断点。

  • 所有开放源代码文件。 如果未找到源文件,将显示一条错误消息。 可以单独关闭这些错误消息,也可以使用 窗口 |“关闭所有错误窗口” 命令。

  • 所有用户定义别名。

每个工作区保留有关调试器配置设置的以下信息。 此信息以累积方式应用,从基本工作区开始,以最近加载的工作区结束。

  • 符号路径。

  • 可执行映像路径。

  • 源路径。 (在远程调试中,保存main源路径和本地源路径。)

  • 使用 l+、l- (设置源选项) 设置的当前源选项。

  • 日志文件设置。

  • COM 或 1394 内核连接设置(如果连接是使用图形界面启动的)。

  • 每个“ 打开 ”对话框中的最新路径 (工作区文件和文本文件路径除外,这些路径不会) 保存。

  • 当前 .enable_unicode.force_radix_output.enable_long_status 设置。

所有默认工作区和命名工作区都保留有关 WinDbg 图形界面的以下信息。 此信息是累积加载的,从基本工作区开始,以最近加载的工作区结束。

  • WinDbg 窗口的标题

  • “自动打开反汇编”设置

  • 默认字体

所有默认工作区和命名工作区都保留有关 WinDbg 图形界面的以下信息。 此信息不会累积应用。 它仅取决于最近加载的工作区。

  • 桌面上的 WinDbg 窗口的大小和位置。

  • 打开的调试信息窗口。

  • 每个打开窗口的大小和位置,包括窗口的大小、其浮动或停靠状态、是否与其他窗口一起选项卡式,以及其快捷菜单中的所有相关设置。

  • 调试器命令”窗口中 窗格边界的位置以及该窗口中的自动换行设置。

  • 工具栏和状态栏以及每个调试信息窗口中的各个工具栏是否可见。

  • 寄存器”窗口的自定义。

  • “调用”窗口、“局部变量”窗口和“监视”窗口中的标志。

  • 在“监视”窗口中查看的项目。

  • 每个 “源”窗口中的光标位置。

命名工作区

命名工作区包含未存储在默认工作区中的其他信息。

此附加信息包括有关当前会话状态的信息。 保存命名工作区时,将保存当前会话。 如果以后打开此工作区,则此会话会自动重启。

以这种方式只能启动内核调试、转储文件调试和生成用户模式进程的调试。 调试器附加到的远程会话和用户模式进程在其工作区中没有保存此会话信息。

如果另一个会话已处于活动状态,则无法打开此类命名工作区。

调试客户端和工作区

使用 WinDbg 作为调试客户端时,其工作区仅保存通过图形界面设置的值。 不会保存通过“调试器命令”窗口所做的更改。 (此限制保证仅反映本地客户端所做的更改,因为“调试器命令”窗口接受来自所有客户端和调试服务器的输入。) 有关详细信息,请参阅 控制远程调试会话

工作区中的断点

此外,断点信息保存在工作区中,包括中断地址和状态。 会话结束时处于活动状态的断点在启动下一个会话时处于活动状态。 但是,如果尚未加载正确的模块,则其中一些断点可能无法解析。

通过符号表达式、行号、数字地址或在源窗口中使用鼠标指定的断点都保存在工作区中。 在“反汇编”或“调用”窗口中使用鼠标指定的断点不会保存在工作区中。

如果要调试多个用户模式进程,则仅保存与进程零关联的断点。