4.1.7 Other Kernel Debugging Options

Several other options for kernel debugging are available with the Kernel Debugger dialog box from the Options menu.

·Check Stop at Initial Breakpoint to set an initial breakpoint and halt the target machine at the earliest possible time.

·Check Go on Exit to issue a Go command to the target when you exit WinDbg.

·Use the Cache Size option to specify the size of the cache that WinDbg uses at startup for memory values. Normal operations, such as single-stepping or the G command, invalidate the cache. If WinDbg has frozen the target machine, but hardware on the target can change memory (for example, through shared memory or DMA), disable the cache to see the memory changes. Use the .cache command to examine the current cache settings, specify a new cache size (in KB), or disable the cache (.cache 0). The default cache size is 100 KB.

·Use the Crash Dump option to specify the name of a crash dump file for WinDbg to debug. See Section 4.1.8 for information on debugging crash dumps.

You can set several options with the Debug dialog box from the Options menu that are useful with WinDbg .

·Make sure that Alternate Single Stepping is not checked, as this option causes WinDbg to use a single-stepping algorithm that slows down kernel-mode debugging.

·Turn off Ignore Bad Symbols to receive a popup when WinDbg tries to load a bad symbol file. The popup lets you browse another directory for the correct symbols, to add the new directory to the symbol search path, or ignore any further bad symbol files encountered.

·Check the Disassembler option Open Window on Demand. If this option is not checked, and there is no source file for a breakpoint, WinDbg will automatically open a Disassembly window and read in a block of machine code from the target to display as the source for the breakpoint. This is a time-consuming operation that slows down kernel debugging.

·Specify a log file from the Command window to generate a log of events. You can append to or overwrite an existing logfile using the commands .logopen and .logclose.