The core OS debug VXDs are provided in the DDK as separate VXDs, as opposed to being packed into a single VMM32.VXD file. Furthermore the readme file with the DDK indicates that copying all the unpacked debug VXDs to the IOSUBSYS folder and replacing the ring 3 system DLLs and additional debug VXDs that are not compressed into VMM32.VXD should suffice. Based on that advice I attempted the following:

  1. Copy all relevant debug VXDs to the IOSUBSYS folder.
  2. Replace the ring 3 system DLLs/auxiliary VXDs with their debug versions.

However the debug VMM.VXD and the debug VXDs in IOSUBSYS are still not loaded and the VMM32.VXD kernel that is initially installed is still loaded, furthermore many system features are now broken because the retail VMM does not work with the debug ring 3 system modules. Does anyone know how to properly deploy the debug VMM/ring 3 modules from the DDK to an existing Windows 98 installation?


1 Answer 1


You mentioned copying files into the %WINDIR%\SYSTEM\IOSUBSYS directory (including VMM.VXD), but nothing about the %WINDIR%\SYSTEM\VMM32 directory. The former, as the name suggests, contains only individual block device drivers (port drivers, VxDs for hard disks, CD-ROM drives, etc.). It’s the latter directory that is supposed to contain core VMM service drivers, like VMM.VXD or IOS.VXD. Files in it replace the VXD drivers embedded in the VMM32.VXD file; this is how the debugging kernel is installed.

Also, I don’t know if this is true of the 9x DDKs, but I remember the debug kernel of Windows 3.1 or so coming with a pair of batch files that can switch back and forth between debug and release kernels. Maybe it’s worth looking for something similar in your DDK.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .