Configuring tools.ini

The file tools.ini contains information to initialize the command-line debuggers. On startup, the debugger searches for the appropriate section header in the tools.ini file and extracts initialization information from the entries under the header. Each command-line debugger has its own section header - [CDB], [NTSD], and [KD]. The environment variable INIT must point to the directory containing the tools.ini file.

WinDbg does not use the tools.ini file. Instead, WinDbg saves initialization settings in workspaces.

The tools.ini entries are shown in the following table.

Keywords must be separated from the values by white space or a colon. Keywords are not case-sensitive.

For TRUE or FALSE values, "FALSE" is the only false value. Anything else is TRUE.


$u0: value ... $u9: value

Assign values to fixed-name aliases. You can specify numeric values n or 0xn or any other string. See Using Aliases for details. No command-line equivalent.

DebugChildren: flag

TRUE or FALSE. If TRUE, CDB debugs the specified application as well as any child processes that it might spawn. Command-line equivalent is -o.

DebugOutput: flag

TRUE or FALSE. If TRUE, CDB sends output and receives input through a terminal. If FALSE, output goes to the user screen. The command-line option -d is similar but not identical.

IniFile: file

Specifies the name of the script file that CDB or KD takes commands from at startup. The default is the ntsd.ini file in the current directory. Command-line equivalent is -cf. For details, see Using Script Files.

LazyLoad: flag

TRUE or FALSE. If TRUE, CDB performs lazy symbol loading; that is, symbols are not loaded until required. Command-line equivalent is -s.

For details, and other methods of setting this option, see Deferred Symbol Loading.

SetDll: filename

Set extension DLL. The .dll filename extension should be omitted. Default is userexts.dll. Command-line equivalent is -a.

For details, and other methods of setting this default, see Loading Debugger Extension DLLs.

StopFirst: flag

TRUE or FALSE. If true, CDB stops on the breakpoint at the end of the image-loading process. Command-line equivalent is -g.

StopOnProcessExit: flag

TRUE or FALSE. If TRUE, CDB stops when it receives a process termination notification. Command-line equivalent is -G.

sxd: event
sxe: event

Sets the debugger response and the handling status for the specified exception or event.

Exceptions and events may be specified in the following ways:

*: Default exception
n: Exception n (decimal)
0xn: Exception 0xn (hexadecimal)
(other): Event code

See Controlling Exceptions and Events for details of this process and for other methods of controlling these settings.

VerboseOutput: flag

TRUE or FALSE. If TRUE, CDB will display detailed information about symbol handling, event notification, and other run-time occurrences. Command-line equivalent is -v.


A sample [NTSD] section in the tools.ini file follows:

sxe: 3c
sxe: cc
$u0: VeryLongName



Send comments about this topic to Microsoft