WinDbg - Settings and workspaces

WinDbg logo with a magnifying glass inspecting bits.

This section describes how to setup and configure the WinDbg debugger.

Settings

Use the settings menu to set things such as the source and symbol path as well as choose the light and dark theme for the debugger.

Screenshot of WinDbg settings menu displaying the general tab.

There are currently six settings dialog panels:

  • General
  • Command Window
  • Debugging Settings
  • Disassembly windows
  • Events & exceptions
  • Source window

For more information on setting the paths, see Symbol path for Windows debugger and Source Code Debugging in WinDbg (Classic).

Workspaces

Workspaces allows you to save configuration information in the target connection information file.

The options in workspaces are saved upon closing the debugger or can be manually saved using File -> Save Workspace.

Workspaces are automatically loaded when launching from the recent targets list or they can be manually loaded in the file menu.

In addition to the target connection information, the following settings are stored in the workspaces file.

General Settings

Note

This list and format isn't final and is subject to change.

Setting Default Description
FinalBreak true If true, ignores the final breakpoint (-g command-line option).
SourceDebugging true Toggles between source or assembly mode.
DebugChildProcesses false (User mode only) If true will debug child processes launched by the target application. (-o command-line option).
Noninvasive false Specifies non-invasive attach (-pv command-line option).
NoDebugHeap false Specifies the debug heap should not be used (-hd command-line option).
Verbose false When verbose mode is turned on, some display commands (such as register dumping) produce more detailed output. (-v command-line option).
Elevate - Used internally by WinDbg - Do not modify.
Restartable - Used internally by WinDbg - Do not modify.
UseImplicitCommandLine false Use implicit command-line (-cimp command-line option). This starts the debugger with an implicit command line instead of an explicit process to run.

For more information about the command line options, see WinDbg Command-Line Options.

Symbol Settings

Setting Default Description
SymbolOptionsOverride 0 An explicit symbol option mask, in the form of a single hex number.
ShouldOverrideSymbolOptions false If set to true override all of the symbol options listed below with the provided symbol option mask, described above.
SymOptExactSymbols false This option causes the debugger to perform a strict evaluation of all symbol files.
SymOptFailCriticalErrors false This symbol option causes file access error dialog boxes to be suppressed.
SymOptIgnoreCvRec false This option causes the symbol handler to ignore the CV record in the loaded image header when searching for symbols.
SymOptIgnoreNtSympath false This option causes the debugger to ignore the environment variable settings for the symbol path and the executable image path.
SymOptNoCpp false This symbol option turns off C++ translation. When this symbol option is set, :: is replaced by __ in all symbols.
SymOptNoUnqualifiedLoads false This symbol option disables the symbol handler's automatic loading of modules. When this option is set and the debugger attempts to match a symbol, it will only search modules which have already been loaded.
SymOptAutoPublics false This symbol option causes DbgHelp to search the public symbol table in a .pdb file only as a last resort. If any matches are found when searching the private symbol data, the public symbols will not be searched. This improves symbol search speed.
SymOptDebug false This symbol option turns on noisy symbol loading. This instructs the debugger to display information about its search for symbols.

For more information on symbol options, see Symbol Options.

Window layout settings

Window layout is saved globally and are not saved in the workspaces file.

Workspaces XML file

The workspace and target connection information is stored in XML format.

The following file, shows an example workspaces configuration file.

<?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>

Note that this file format continues to evolve as more features are added to the WinDbg debugger.


See Also

WinDbg Features