Site hosted by Build your free website today!

NuMega SoftICE 4.05 Release Notes


Table Of Contents


What’s New in SoftICE 4.05 (versus 4.0)

Minor Features/Enhancements/Bug fixes in version 4.05

Known Anomalies in Version 4.05


Setting Up Remote Debugging

SoftICE supports remote debugging with NE2000 compatible and 3COM 3C90X network cards.

To install the SoftICE drivers under Windows 2000:

  1. Right-click My Computer, select Properties, Hardware, Device Manager.
  2. Double-click Network Adapters, then right-click your adapter and select Properties.
  3. Select the Driver tab and click Update Driver. Click Next twice, making sure Specify a Location is checked and click Next again.
  4. Browse to the \SoftICE\Network\NE2000 or \SoftICE\Network\3C90X directory of your DriverStudio install. Click OK.

  5. Windows 2000 will probably display a dialog stating "Windows has found a driver that is a closer match for this device...". Check the checkbox that says "Install one of the other drivers".
  6. Windows 2000 displays a list of locations for drivers for your network adapter. Select the one whose path corresponds to the DriverStudio Network directory and click Next. After a few moments, Windows 2000 displays a dialog box stating the new driver has been installed. Click Finish, close everything and reboot the system.

To install the SoftICE drivers on Windows NT:

  1. Open Control Panel. Double-click Network.
  2. Select Adapters. Remove the existing driver, then Add the driver. Click Have Disk when prompted. Windows NT might prompt you to reboot.
  3. Browse to the dialog box to the SoftICE\Network\NE2000 or SoftICE\Network\3C90X directory of your DriverStudio install. Then click OK to install the new driver.

To install the SoftICE drivers on Windows 98 or Windows 95:

For NE2000 or compatible:

  1. Make a backup copy of NE2000.SYS in the \WINDOWS\SYSTEM directory


  2. Copy the file NMNE2K4.SYS from the DriverStudio\SoftICE\Network\NE2000 directory over the NE2000.SYS file in the \WINDOWS\SYSTEM directory.

    copy "\Program Files\NuMega\DriverStudio\SoftICE\Network\NE2000\NMNE2K4.SYS" \WINDOWS\SYSTEM\NE2000.SYS

  3. Reboot the system

For 3C90X using EL90XND4.SYS:

  1. Make a backup copy of EL90XND4.SYS in the \WINDOWS\SYSTEM directory


  2. Copy the file NM90XND4.SYS from the DriverStudio\SoftICE\Network\3C90X directory over the EL90XND4.SYS file in the \WINDOWS\SYSTEM directory.

    copy "\Program Files\NuMega\DriverStudio\SoftICE\Network\3C90X\NM90XND4.SYS" \WINDOWS\SYSTEM\EL90XND4.SYS

  3. Reboot the system

For 3C90X using EL90XBC4.SYS:

  1. Make a backup copy of EL90XBC4.SYS in the \WINDOWS\SYSTEM directory


  2. Copy the file NM90XBC4.SYS from the DriverStudio\SoftICE\Network\3C90X directory over the EL90XBC4.SYS file in the \WINDOWS\SYSTEM directory.

    copy "\Program Files\NuMega\DriverStudio\SoftICE\Network\3C90X\NM90XBC4.SYS" \WINDOWS\SYSTEM\EL90XBC4.SYS

  3. Reboot the system


System Requirements

For All Systems:

For Windows 95 and Windows 98:

For Windows NT and Windows 2000:




SoftICE Video Troubleshooting Tips

For the most current Video Troubleshooting Tips, please visit our on-line Knowledge Base on the Support section of our web site at:

Beginning with version 3.2, SoftICE (95/NT) supports more video devices than ever before by taking advantage of Microsoft DirectX technology. This will allow SoftICE's Universal Video Driver (UVD) to work with virtually all new video cards supported by ActiveX/Direct Draw.

NOTE: Both the video card AND the video card driver must support DirectDraw in order to the UVD to work.

If you are having trouble getting SoftICE to run with your video card AND it supports Direct Draw technology:

  1. Run the SoftICE Display Adapter Setup
  2. From the manufacturers list, select STANDARD VGA
  3. Check the Universal Video Driver (UVD) box
  4. Press the TEST button to confirm that this setup works.

If this does not work and you are sure that your video card supports DirectDraw, then we recommend that you try:

  1. Downloading and installing the most current version of your video card driver provided by the card manufacturer. Updated drivers usually add support for DirectDraw to cards that support it.
  2. For NT, try changing the SoftICE startup to either Automatic or Manual mode

If you are unable to use SoftICE with your video card AND it supports DirectX, please provide us with the following information:

If your video card does not support Direct Draw:

  1. Download and install the most current version of your video card driver provided by the manufacturer
  2. Download and install the last version of the SoftICE legacy video drivers from our FTP site at:

    Windows 95: SIWVID95.ZIP
    Windows NT: SIWVIDNT.ZIP

  4. Run the SoftICE Display Adapter Setup and reselect your card.

Other options which are detailed in the users guide, include the ability to use SoftICE:

    1. From the OS Display utility, change your display adapter to:

    2. Manufacturer: Standard Display Types
      Display: VGA Compatible Display Adapter

    3. From the SoftICE display adapter setup, set SoftICE to Standard VGA and DO NOT check the Universal Video Driver

If none of these options work for you, then we highly recommend that you obtain a newer video card which supports Direct Draw. Please note that NuMega will no longer create custom drivers to support new video cards. All new video card support will be handled through Direct Draw drivers. This will allow SoftICE to work with virtually all new video cards supported by Direct Draw.


Quick Start to Debugging

  1. Run Symbol Loader (LOADER32.EXE).
  2. Choose File-Open Module, and select the module you want to debug.
  3. Choose Module-Load (or click the Load button on the toolbar). SoftICE automatically extracts symbol information from your module, creates a .NMS file containing the information, loads the symbols and source code, and, if you are loading an EXE file, loads the EXE and sets a breakpoint. You're ready to start debugging.

Other features to check in the new symbol loader:


Using SoftICE with Windows 2000

WINDOWS 2000 is a beta operating system. Unfortunately, this means that the subtle changes to Windows 2000 internals between interim builds can break key functionality in SoftICE. We have tested SoftICE for NT version 4.0 with specific builds of Windows 2000 (builds 1946, 2000 2021, and 2031). SoftICE is supported with known limitations on these builds. Refer to Nt5Boot.txt for in the SoftICE directory for more information about using SoftICE on Windows 2000.

There are different manual configurations that can be made to SoftICE to increase the chance of supporting builds other than 1946, 2000, 2021, and 2031. However, support cannot be guaranteed on builds of Windows 2000 other than 1946, 2000, 2021, and 2031 at this point.

Here is a list of changes that must be made for Windows 2000 support.

  1. Problems with file system access in boot drivers have been fixed for RC2 (all builds after 2128). It is no longer necessary to run ICEPACK.exe.
  2. If using an Windows 2000 build other than build 1946, 2000, 2021, or 2031, you will need to do the following. Place the NTSYMBOLS=ON keyword on a separate line in winice.dat, and automatically load symbols for NTOSKRNL. This keyword will allow SoftICE to use the kernel symbols for hooking key routines and data. Be sure that the symbols being loaded are properly matched to the build of NTOSKRNL.exe. The method that SoftICE uses alternatively is impacted by binary changes in the NTOSKRNL module. sing symbols eliminates this impact. Automatic loading of symbols is done via the Symbol Loader (Loader32.exe) Edit|SoftICE Initialization Settings menu item. Symbols for NTOSKRNL are provide in the form of a ntoskrnl.dbg file. This file can be translated, using the Loader32.exe or nmsym.exe, to create a .nms file. NOTE: The debug binaries for Windows 2000 are built with VC 6.0. Place the file 'mspdb60.dll' in the path to translate symbols for this and later builds. This file is located on setup CD 1, in the Common\MSDEV98\BIN directory.
  3. Keyboard support will most likely break in builds of Windows 2000 that are not specifically tested. This is due to the fact that the SoftICE keyboard driver patching is dependent on particular binary images. For keyboard support on builds of Windows 2000 that are not specifically tested, download the i8042prt.sys driver on\anonymous\tech. Replace the driver currently installed on your system with the downloaded driver (please backup the original driver). This version of the driver is supported. It is simply the i8042prt.sys driver from a build that is specifically supported.
  4. It is necessary to disable the boot GUI that was added in Windows 2000 (NT 5.0) build 1814. There have been some cases where the boot GUI causes problems with SoftICE's VGA support. SoftICE will not be able to popup in VGA or text mode if the boot GUI is not disabled. Here is an example of boot.ini with a /noguiboot switch.

  5. [boot loader]
    [operating systems]
    multi(0)disk(0)rdisk(0)partition(1)\WINNT="Windows NT Workstation Version 5.00" /

  6. The ‘Press Esc to cancel loading SoftICE’ message is not displayed properly when SoftICE is loaded as a system driver. However, you can still press Esc to cancel loading SoftICE.
  7. SoftICE cannot patch the keyboard driver shipped with Windows 2000 build 2031 (Checked Build). Replace the version of the driver shipped with the Checked Build of 2031 with the version shipped with the Release Build.
  8. Refer to the NuMega Lab support web page for ongoing support for Windows 2000. Instructions, interim builds, and keyboard drivers are provided at

Using Multiple Monitors with Windows 98 and Windows 2000

Windows 98 and WINDOWS 2000 support multiple display devices. One of the devices, called the primary display, supports VGA (this is the device that is active at boot time); the other devices run with VGA disabled.

In the video setup phase of the installation, be sure to select the device being used as the primary video card. For example, if you're using an S3 card as the primary display and an ATI card as the secondary display, tell SoftICE to use the S3 card.

Specifying Which Monitor to Use

When the Universal Video Driver is in use, it is possible to control which monitor SoftICE will use. Add a line to WINICE.DAT such as this:


This tells SoftICE to use the "second" monitor. Other numbers (0, 1, 2, etc) can be used to select the desired display.

When Using WINDOWS 2000 if you install or uninstall a video card, be sure to run the SoftICE video setup program after a successful reboot in your new configuration.

Debugging Display Drivers with Windows 98

With Windows 98 there can be multiple display drivers loaded simultaneously, and multiple instances of display drivers. Unfortunately, all these drivers have the same module name, DISPLAY, so SoftICE doesn't know which driver it should associate with the symbol table. The symbol table will be associated with the first driver loaded, which may not be the one you want to debug.

There are two solutions to this problem:


Using SoftICE with Visual C++ 5.0 and Visual C++ 6.0

When linking, the /PDBTYPE:CON option must be used (/PDBTYPE:SEPT is not supported). To set this option from the IDE, go to the Link tab of the project settings, select Category "Debug", and ensure that the "Separate types" option is NOT selected.

Do not select the "Program Database Edit and Continue" debug info option. On the command-line, do not use the /ZI, rather use /Zi.

Notes for building VxDs with VC++ 5.0:

  1. You MUST use link V4.1 or later. Earlier versions do not emit debug information properly.
  2. You must NOT link using the /PDB:NONE option. If you link with /PDB:NONE you will not get any debug information


Using SoftICE with Borland C++ Builder

C++ Builder stores the Borland debug information in .TDS files separate from the executable. TDS files are also produced by the TDSTRP32 utility. To load symbols and source into SoftICE, simply use the Symbol Loader to load the .TDS file. If you want to load the executable from the Symbol Loader that must be done afterward as a separate step. Alternatively, you could set the desired breakpoints and then load the executable normally.


Known Anomalies

If all these conditions are met, SoftICE will start but will be invisible. Press Control-D to regain control of the system. The next time you hit Control-D SoftICE should pop up normally. The reason for this anomaly is that the SoftICE universal video driver can't begin to operate until at least one command has been passed to the display driver. None of this applies to SoftICE for Windows 95.


Troubleshooting Tips


Known Problems Related to Watcom C++


Windows 95 OSR2 Crash Problem Related to 3Com Ethernet card

A crash during system startup may occur when using the NDIS3 miniport driver on the EtherDisk v2.1x for the 3Com EtherLink and Fast EtherLink XL cards with Windows 95 OSR2. This is caused by a memory management problem in the 3Com driver when running under Win95-OSR2. Although not related to SoftICE, this problem is more likely to manifest itself when SoftICE is loaded.

An updated Ethernet driver (currently in beta) which resolves the problem is available from 3Com.


Reporting Problems And Suggestions

On June 15, 1998, NuMega launched a free Web-based Knowledge Base to assist our customers 24 hours a day! At no charge, users can access this service via the Support section of our web site at:


For product updates, FAQs, white papers and other technical support information, please check the support section of our web site at:

Contact Technical Support via our SUPPORT page at our web site or send e-mail to:

You must include your product serial # with your issue in order to receive technical support from NuMega.

Include the following in your problem report:

Priority Support Customers can call us at 1 888 NUMEGAS (888-686-3427) or +1 603 578 8100. You can also FAX us at +1 603 578 8401 (attention: Technical Support).

If you are not a Priority Support Customer but are interested in becoming one, visit our web site or call 1-800-4NUMEGA.



Copyright 1998, 1999, 2000 Compuware Corp.