4.4 Setting Up the Debugging Version of Windows

You can run CVW with either the debugging or retail version of Windows. The debugging version performs error checking that is not available with the retail version.

For example, the debugging version of Windows checks whether a window handle passed to a Windows function is valid. When the debugging version of Windows detects such an error, it reports a fatal exit. If this happens while you are running CVW, the fatal exit is reported in the CVW Command window. For details about this error handling, see Section 4.12, “Handling Abnormal Termination of the Application.”

When you use the debugging version of Windows with CVW, the Windows core dynamic-link libraries (DLLs) provide debugging support. These DLLs (KRNL286.EXE, KRNL386.EXE, GDI.EXE, and USER.EXE) contain symbol information that makes it easier to determine the cause of an error. For example, if your application were to cause a general protection (GP) fault while running with the debugging version, Windows would display symbol information for the Windows code that was running when the GP fault was detected. If, instead, your application were running with the retail version of Windows, Windows would be able to display only CS:IP address values of the code that was being executed when the fault occurred.

CVW does not automatically use these Windows core DLL symbols. To provide CVW access to these symbols, you must specify one or more of the core DLLs either by using the /l command-line option or in response to the DLL prompt within CVW. If you are running CVW with Windows in standard mode, specify KRNL286.EXE. In 386 enhanced mode, specify KRNL386.EXE. For an explanation of how to load symbols from a DLL, see Section 4.5.5, “Starting a Debugging Session for Dynamic-Link Libraries.”

To install the debugging version of Windows, run the batch program N2D.BAT from your Windows system directory. This batch program replaces the nondebugging Windows core files with the debugging versions. (It copies both symbol files and executable files.) When the batch program has finished running, you start the debugging version of Windows by typing the win command. No special command-line options are required. To restore the nondebugging version of Windows, follow the same procedure using the batch program D2N.BAT.