创建和打开工作区

WinDbg 有两种类型的工作区: 默认工作区命名工作区

默认工作区

WinDbg 具有多种不同类型的默认工作区:

  • 当 WinDbg 处于休眠状态时,将使用 基本工作区

  • 使用 -p命令行选项或使用文件 | 附加到用户模式进程 (时,将使用默认用户模式工作区附加到进程命令) 。

  • 连接到调试服务器时,将使用 远程默认工作区

  • 当 WinDbg 开始 内核模式 调试会话时,将使用默认内核模式工作区。

  • WinDbg 附加到目标计算机后,在内核模式调试期间使用 特定于处理器的工作区 。 基于 x86 和基于 x64 的处理器有单独的特定于处理器的工作区。

当 WinDbg 创建用于调试的用户模式进程时,会为该可执行文件创建一个工作区。 每个创建的可执行文件都有自己的工作区。

WinDbg 分析转储文件时,会为该转储文件分析会话创建一个工作区。 每个转储文件都有自己的工作区。

开始调试会话时,将加载相应的工作区。 结束调试会话或退出 WinDbg 时,将显示一个对话框,询问是否要保存对当前工作区所做的更改。 如果使用 -QY命令行选项启动 WinDbg,则不会显示此对话框,并且会自动保存工作区。 此外,如果通过 -Q 命令行选项启动 WinDbg,则不会显示此对话框,并且不会保存任何更改。

工作区以累积方式加载。 始终首先加载基本工作区。 开始特定调试操作时,将加载相应的工作区。 因此,大多数调试都是在加载两个工作区后完成的。 在基本工作区、默认内核模式工作区和特定于处理器的工作区 () 加载了三个工作区后,内核模式调试完成。

为了获得最大的效率,如果希望设置应用于所有 WinDbg 工作,则应将其保存在较低级别的工作区中。

注意 调试信息窗口的布局是工作区累积行为的一个例外。 每个窗口的位置、停靠状态和大小仅由打开的最新工作区确定。 此行为包括“监视”窗口的内容以及在每个 “内存”窗口中查看的位置。 打开新工作区时, 不会清除调试器命令窗口中 的命令历史记录,但将重置所有其他窗口状态。

若要访问基本工作区,请启动没有目标的 WinDbg,或在会话完成后单击“调试”菜单上的“停止调试”。 然后,可以进行基本工作区中允许的任何编辑。

命名工作区

还可以为工作区命名,然后单独保存或加载它们。 加载命名工作区后,将禁用默认工作区的所有自动加载和保存。

命名工作区包含一些默认工作区没有的其他信息。 有关此附加信息的详细信息,请参阅 工作区内容

打开、保存和清除工作区

若要控制工作区,可以执行以下操作:

  • 使用 -W命令行选项打开并加载命名工作区。

  • 使用 -WF命令行选项从文件打开并加载工作区。

  • 使用 -WX命令行选项禁用所有自动工作区加载。 只有显式工作区命令才能保存或加载工作区。

  • 通过单击“文件”菜单上的“打开工作区”或按 Ctrl+W,打开并加载命名工作区。

  • 单击“文件”菜单上的“保存工作区”,保存当前默认工作区或当前命名工作区。

  • 为当前工作区分配一个名称,并通过单击“文件”菜单上的“将工作区另存为”来保存它。

  • 单击“文件”菜单上的“清除工作区”,从当前工作区中删除特定项目和设置。

  • 单击“文件”菜单上的“删除工作区”,删除工作区。

  • 单击“文件”菜单上的“文件” 中的“打开工作区 ”,从 文件 打开并加载工作区。

  • 单击“文件”菜单上的“将工作区保存到文件”,将工作区保存到文件