WinDbg - 设置和工作区
本部分介绍如何设置和配置 WinDbg 调试器。
设置
使用设置菜单设置源和符号路径等内容,以及为调试器选择浅色和深色主题。
目前有六个设置对话框面板:
- 常规
- “命令”窗口
- 调试设置
- 反汇编窗口
- 事件 & 异常
- 源窗口
有关设置路径的详细信息,请参阅 Windows 调试器的符号路径 和 WinDbg (经典) 中的源代码调试 。
工作区
工作区允许将配置信息保存在目标连接信息文件中。
工作区中的选项在关闭调试器时保存,也可以使用 文件 保存>工作区手动保存。
从最近的目标列表启动时,会自动加载工作区,也可以在文件菜单中手动加载工作区。
除了目标连接信息之外,工作区文件中还存储了以下设置。
常规设置
注意
此列表和格式不是最终的,可能会发生更改。
设置 | 默认 | 说明 |
---|---|---|
FinalBreak | 是 | 如果为 true,则忽略最终断点 (-g 命令行选项) 。 |
SourceDebugging | 是 | 在源模式或程序集模式之间切换。 |
DebugChildProcesses | false | (用户模式仅) 如果为 true,将调试目标应用程序启动的子进程。 (-o 命令行选项) 。 |
无 创 | false | 指定非侵入性附加 (-pv 命令行选项) 。 |
NoDebugHeap | false | 指定不应 (-hd 命令行选项) 使用调试堆。 |
详细 | false | 启用详细模式后,某些显示命令 (,例如寄存器转储) 生成更详细的输出。 (-v 命令行选项) 。 |
提升 | - | 由 WinDbg 内部使用 - 请勿修改。 |
可重启 | - | 由 WinDbg 内部使用 - 请勿修改。 |
UseImplicitCommandLine | false | 使用隐式命令行 (-cimp 命令行选项) 。 这会使用隐式命令行而不是要运行的显式进程启动调试器。 |
有关命令行选项的详细信息,请参阅 WinDbg Command-Line 选项。
符号设置
设置 | 默认 | 说明 |
---|---|---|
SymbolOptionsOverride | 0 | 一个显式符号选项掩码,采用单个十六进制数字的形式。 |
ShouldOverrideSymbolOptions | false | 如果设置为 true ,请使用上述提供的符号选项掩码替代下面列出的所有符号选项。 |
SymOptExactSymbols | false | 此选项会导致调试器对所有符号文件执行严格的评估。 |
SymOptFailCriticalErrors | false | 此符号选项会导致禁止显示文件访问错误对话框。 |
SymOptIgnoreCvRec | false | 此选项会导致符号处理程序在搜索符号时忽略加载的图像标头中的 CV 记录。 |
SymOptIgnoreNtSympath | false | 此选项会导致调试器忽略符号路径和可执行映像路径的环境变量设置。 |
SymOptNoCpp | false | 此符号选项关闭 C++ 转换。 设置此符号选项后,在所有符号中将替换为 __: 。 |
SymOptNoUnqualifiedLoads | false | 此符号选项禁用符号处理程序自动加载模块。 当设置此选项并且调试器尝试匹配符号时,它将仅搜索已加载的模块。 |
SymOptAutoPublics | false | 此符号选项导致 DbgHelp 仅作为最后手段搜索 .pdb 文件中的公共符号表。 如果在搜索私有符号数据时找到任何匹配项,则不会搜索公共符号。 这可以提高符号搜索速度。 |
SymOptDebug | false | 此符号选项启用干扰符号加载。 这会指示调试器显示有关其搜索符号的信息。 |
有关符号选项的详细信息,请参阅 符号选项。
窗口布局设置
窗口布局全局保存,不保存在工作区文件中。
工作区 XML 文件
工作区和目标连接信息以 XML 格式存储。
以下文件显示了一个示例工作区配置文件。
<?xml version="1.0" encoding="utf-8"?>
<TargetConfig Name="C:\paint.dmp" LastUsed="2017-08-03T21:34:20.1013837Z">
<EngineConfig />
<EngineOptions>
<Property name="FinalBreak" value="true" />
<Property name="SourceDebugging" value="true" />
<Property name="DebugChildProcesses" value="false" />
<Property name="Noninvasive" value="false" />
<Property name="NoDebugHeap" value="false" />
<Property name="Verbose" value="false" />
<Property name="SymbolOptionsOverride" value="0" />
<Property name="ShouldOverrideSymbolOptions" value="false" />
<Property name="SymOptExactSymbols" value="false" />
<Property name="SymOptFailCriticalErrors" value="false" />
<Property name="SymOptIgnoreCvRec" value="false" />
<Property name="SymOptIgnoreNtSympath" value="false" />
<Property name="SymOptNoCpp" value="false" />
<Property name="SymOptNoUnqualifiedLoads" value="false" />
<Property name="SymOptAutoPublics" value="false" />
<Property name="SymOptDebug" value="false" />
<Property name="Elevate" value="false" />
<Property name="Restartable" value="true" />
<Property name="UseImplicitCommandLine" value="false" />
</EngineOptions>
<TargetOptions>
<Option name="OpenDump">
<Property name="DumpPath" value="C:\paint.dmp" />
</Option>
</TargetOptions>
</TargetConfig>
请注意,随着 WinDbg 调试器中添加更多功能,此文件格式会不断演变。