DOC: WinDBG Cannot Debug 16-bit Applications Under NT 4.0

Last reviewed: April 24, 1997
Article ID: Q167357
The information in this article applies to:
  • Microsoft Win32 Software Development Kit (SDK)

SUMMARY

The "Tools Guide" in the Win32 Software Development Kit states in the section "About WinDbg" that WinDbg can debug 16-bit Windows-based applications on the Windows NT platform. This statement only applies to Windows NT version 3.51 or earlier. WinDBG cannot be used to debug 16-bit applications under Windows NT version 4.0 or later.

MORE INFORMATION

Note that WinDBG can be used to debug 16-bit Windows-based applications running on Windows NT 3.51 or earlier, under the Win16 VDM (virtual MS-DOS machine), NTVDM. By default, each 16-bit Windows-based application runs as a thread in NTVDM. One of the primary reasons why Win32 developers use the WinDBG debugger to debug 16-bit applications is that it is the only debugger that allows "hard mode" debugging of 16-bit applications under NTVDM.

Hard-mode debugging is especially useful when debugging time-critical events such as timer events and inter-task DDE transactions, and other events such as menu events, system modal windows, etc. By placing the debugger into hard mode, you ensure that the application cannot start or switch to any other applications. This makes the application "task exclusive," and all keyboard and mouse messages are sent only to the debugger and its target application.

Under Windows NT 4.0 or later, you should use the 16-bit Visual C++ version 1.5x debugger to debug a 16-bit application. Note that the Visual C++ debugger will not allow "hard mode" debugging of 16-bit applications under Windows NT 4.0.

Another debugger that can debug a 16-bit application on Windows NT is the NTSD system debugger used in conjunction with the Software Compatibility Test (SCT) tool that comes with the Win32 Software Development Kit (SDK). It provides for low-level debugging of 16-bit software and any VDDs (Virtual DOS Devices) loaded in the NTVDM (NT Virtual DOS Machine) process.


Additional query words: tlswindbg windebug windbgrm tshoot debug
Keywords : BseDebug kbprg kbtool
Platform : NT WINDOWS
Issue type : kbdocerr


THE INFORMATION PROVIDED IN THE MICROSOFT KNOWLEDGE BASE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. MICROSOFT DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING THE WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL MICROSOFT CORPORATION OR ITS SUPPLIERS BE LIABLE FOR ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, LOSS OF BUSINESS PROFITS OR SPECIAL DAMAGES, EVEN IF MICROSOFT CORPORATION OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES SO THE FOREGOING LIMITATION MAY NOT APPLY.

Last reviewed: April 24, 1997
© 1998 Microsoft Corporation. All rights reserved. Terms of Use.