Debug Binaries
Debug binaries are Windows 95 kernel VxDs that are typically compiled with the DEBUG=1 statement contained in the corresponding makefile. Note the historic difference in nomenclature between Windows and Windows NTŪ documentation.
Windows 3.x, Windows 9x |
Windows NT |
Meaning |
"Retail" |
"Free build" |
Normal retail code build |
"Debug binary" |
"Checked build" |
Debug code build |
You do not need to use the debug binaries in order to run and use the debugger. However, debug binaries are extremely helpful when troubleshooting your VxD:
- Debug binaries contain additional code that issues message(s) to the debugger terminal. These messages contain valuable information, warning information, and/or error information.
- Debug binaries frequently contain special debugger "dot command" handling code, not present in the retail drivers (See System Dot Commands). Dot commands are intended to reveal the contents of internal data structures unique to the driver that support the Dot command.
- Debug binaries perform additional verification of data and pointers (using ASSERT functions for example). For example, if a pointer is found to be null and it shouldn't be, debug binaries may contain an INT1 or INT 3 breakpoint, causing the debugger to automatically halt at that point (see Breaking Into the Debugger).
- If symbol files are provided with the debug binary VxD, use them, to make it easier to navigate through the code.