
SoftICE 4.01 Release Notes


-----------------------------------------------------------------
                        Table Of Contents 
-----------------------------------------------------------------
* Whats new in SoftICE 4.01 (versus 4.0)
* Whats New in SoftICE 4.0 (versus 3.24)
      Event viewing for BoundsChecker events (EVENT command)
      Windows 2000 (NT 5.0) Beta 3 support
      Remote SoftICE via IP Network Connection
      Pentium III opcode support
      Support for FPO data and an improved STACK command
      Stack Window (WS command)
      New Informational Commands
      Numerous bug fixes
* Minor Features/Enhancements/Bug fixes in version 4.0
* Known Anomalies in version 4.0
* Command usage changes in version 4.0
* Setting Up Remote Debugging
* System Requirements
* Installation
* SoftICE Video Troubleshooting Tips
* Quick Start to Debugging
* Using SoftICE with Windows 2000
* Using Multiple Monitors with Windows 98 and Windows 2000
* Debugging Display Drivers with Windows 98
* Using SoftICE with Visual C++ 5.0 and Visual C++ 6.0
* Using SoftICE with Borland C++ Builder
* Known Anomalies
* Troubleshooting Tips
* Reporting Problems And Suggestions


Whats New in SoftICE 4.01 (versus 4.0)
---------------------------------------
* Keyboard support for Windows 2000 build 2072

* Slight changes to the DRIVER and DEVICE commands on Windows 98

* Slight changes to the MOD command on the Japanese version of Windows 
98


Whats New in SoftICE 4.0 (versus 3.24)
---------------------------------------
* Event viewing for BoundsChecker for Drivers events (EVENT command).  
Use the EVENT command to display BoundsChecker for Drivers events and 
errors. For complete information about event viewing see the Using 
BoundsChecker Driver Edition chapter in the Using SoftICE 
document.

* Windows 2000 (NT 5.0) support for builds 1946, 2000, 2021, and 2031. 
Refer to the Using SoftICE with Windows 2000 section below.

* SoftICE can now establish a connection with a remote client via an IP 
network. This allows true remote debugging over a network connection 
using an NE2000-compatible or 3Com network card. Use the NET command 
for this functionality.

* Intel Pentium III instruction set support, including disassembly and 
assembly of new opcodes.  Pentium III registers can be viewed using 
the WX command.

* Support for FPO data and improved stack command.  SoftICE now 
translates Frame Pointer Omission (FPO) data.  To use this feature 
you will need to retranslate your symbol files with loader32 or 
nmsym. Old .nms files can still be used by SoftICE, but they will not 
contain FPO data.  We strongly urge you to retranslate when possible.  
Including FPO data allows walking of call stacks without frame 
pointers. 

* The call stack display has been reformatted. Use -v to get verbose 
information, and -r to display a stack that includes ring 
transitions. The stack display has been reformatted, the frame 
pointer is printed first, followed by the return address, and finally 
the symbol and offset.  The current EIP frame is displayed at the top 
of the stack dump. Finally, the STACK command uses FPO data to 
display stacks without frame pointers.

* A Stack Window has been added to SoftICE 4.0.  The Stack Window can 
be toggled and sized with the WS command.  Selecting a stack level 
with the mouse of keyboard will result in the code and locals windows 
being updated for the selected scope.  Set Stack Window focus using 
ALT-S or the mouse.  Use the up and down arrors or the mouse to 
select stack items.  

* Multimonitor systems on Windows 2000.  If Windows 2000 can properly 
install a card correctly, SoftICE will be able to display on that 
card.  To display all cards SoftICE can use type Set monitor.   
When you want to switch monitors type in the decimal value 
representing the monitor you want SoftICE use for display, for 
example 'set monitor 1'.  If you do not want SoftICE to patch a video 
driver, add the base name of the DDI driver to the 
NTICE\ExcludedDisplayDrivers key in the registry.  This list is ';' 
delimited.

* New informational commands have been added to SoftICE 4.0.  These 
include APC, DPC, FMUTEX, KMUTEX, KEVENT, KSEM, INTOBJ, TIMER, and 
NET.  For usage, see the Command usage changes in version 4.0 
section below. 

Minor Features/Enhancements/Bug fixes in version 4.0
----------------------------------------------------
* SoftICE now tries to match an address using every loaded symbol table 
rather than using only the active table.

* DEVICE and DRIVER commands now search entire object tree rather than 
just their respective directories.

* The UNICODE_STRING buffer will display the buffer as a character 
string.  Because of symbol engine limitations and the fact that 
Unicode strings are not necessarily null terminated,  SoftICE will at 
times display beyond the end of the string.  There is no work around 
for this.

* Both MAP32 and MOD now support filtering by user (-u) and and system 
(-s) modules. 

* The IRP command has a number of new options. -a will walk all threads 
a looking for irps in the ktebs. -n and -p walk the previous and next 
irp stack locations respectively.

* The IntelliMouse will now work correctly on NT Boot load and on 
Windows98.

* Text selection with mouse highlights properly.

* Improved handling of ATI video cards on NT 4.0 sp 3 and sp 4.  If 
SoftICE is not patching your driver correctly, usually manifested by 
a ctrl-d that doesn't bring up SoftICE but 'freezes' the machine, 
there is a fix for users of NT 4.0 sp 3 or 4.  To work around this, 
create a value DoInt2D (under HKLM\CurrentControlSet\Services\NTICE) 
with a DWORD value set to 1. If you are installing for the first time 
and have an ATI card, this key will be set automatically.  At this 
point the Universal Video Driver should function correctly.  If you 
are experiencing this problem on Windows 2000, contact technical 
support with the build number you are using, and they can provide an 
alternate work around.

* Symbol Fixes - complex arrays should be handled correctly in both the 
watch window and the locals window, breakpoints can be set on 
destructors without an error message, static class members will 
display correctly, and finally offsets to class members will be shown 
using the TYPES' command.

* HST can be set from winice.dat, 

* The assembler bug regarding mov ax,104 is fixed, as is the bug 
involving mov eax, dr0.

* locals window: <cr> once again expands and contracts structures in 
locals window.

* RtlAssert on NT4 no longer causes bluescreen.

* Command Window Scrolling - The command window can now be scrolled one 
line at a time when viewing command output by using the Enter key.  
Use any other key to scroll and entire page.

* CTRL-ALT-C centers the Universal Video Driver display screen.

* Changes in regards to INT 3 handling. SoftICE for NT will now pop up 
on all INT 3s above 2GB. This allows trapping of a drivers call to 
DebugBreak(). To handle all INT 3s, use the I3HERE ON command.  To 
disable all INT 3 handling, use the I3HERE OFF command. To reenable 
the INT 3 handling above 2GB only, use the I3HERE DRV command.


Known Anomalies in version 4.0
------------------------------
* The minimum memory requirement for BoundsChecker Driver Edition is 32 
MB. If you run BoundsChecker or FieldAgent and SoftICE on a Windows 
NT or Windows 2000 system with 32 MB memory, you must reduce the 
SoftICE video buffer to 1024 KB and use the small size history 
buffer. If you try to set video memory to less than 1024 KB, SoftICE 
might behave incorrectly. This is not an issue when SoftICE is not 
running.


Command usage changes in version 4.0
-------------------------------------
* STACK command: dumps call stack  
               STACK [-v |-r]|[task_name|thread_type|ss:ebp]
               v : verbose - displays locals
               r : ring transition - walks through ring transitions

* MOD command: dumps module list 
               MOD [-u|-s]|[partial_name*]
               u : user modules only
               s : system modules only

* MAP32 command: dumps image map for 32 bit modules 
               MAP32 [-u|-s]|[mod_handle|mod_name]
               u : user modules only
               s : system modules only
 
* IRP command: dumps IRP data structure 
               IRP [-f|-n|-p|-a] pIrp
               a : Walk thread irp queue
               n : Next irp stack
               p : Previous irp stack

* WX command: opens and controls display of Pentium III registers
               WX [-f|-d|*]
               f : display as short real values
               d : display as dword values
               * : toggle between dword and real
* WS command: opens and sizes stack window
               WS [window_size]
               window_size: stack window size in number of lines

* APC command: dumps APC data structure 
               APC [apc|TID|PID]
               apc : APC address
               TID : display APCs associated with a specific thread
               PID : display APCs associated with a specific process

* DPC command: dumps DPC data structure 
               DPC [dpc]
               dpc : DPC address

* FMUTEX command: dumps fast mutext data structure 
               FMUTEX [fast_mutext]
               fast_mutext : fast mutext address

* KMUTEX command: dumps kernel mutext data structure 
               KMUTEX [kernel_mutex]
               kernel_mutext : kernel mutext address
 
* KEVENT command: dumps kernel event data structure 
               KEVENT[kernel_event]
               kernel_event : kernel event address

* KSEM command: dumps kernel semaphore data structure 
               KSEM [semaphore]
               semaphore: semaphore address

* INTOBJ command: dumps interrupt object data structure 
               INTOBJ [vector|interrupt_object]
               vector: interrupt vector number
               interrupt_object: address of interrupt object

* TIMER command: dumps timer object data structure 
               TIMER [timer]
               timer: timer object address

* NET command: Allows connection over a network. 
                NET [START|ALLOW|PING|RESET|STOP|HELP|STATUS]
See Using SoftICE for more information about using remote 
debugging.


Setting Up Remote Debugging
---------------------------
To use SoftICE in a remote debugging session, you must replace 
EL90XND4.SYS with the file of the same name that is shipped with 
DriverStudio, in the SoftICE directory. However, this file can also 
replace EL90X.SYS. If you replace EL90X.SYS with the EL90XND4.SYS 
shipped with DriverStudio, make sure you change the file name.


System Requirements
-------------------

For All Systems:

* 5 MB disk space required
* 2.5 MB disk space optional (Adobe Acrobat Reader for on-line manuals)
* Microsoft-compatible Serial or PS/2 mouse (optional)
* Single monitor and an additional monochrome monitor are supported
* Remote debugging is supported for NE2000-compatible or 3Com network 
cards

For Windows 95/98:

* Windows 95/98
* 16 MB RAM minimum (32 MB recommended)

For Windows NT:

* Intel x86 uniprocessor or Intel-standard SMP system
* Windows NT 3.51
* Windows NT 4.0 (Build 1381)
* 32 MB RAM minimum (64 MB recommended)
* Installation account with administrator rights


Installation
------------

* To install SoftICE, run SETUP.EXE. For Windows NT, run Setup from an 
account with administrator rights.

* Setup will prompt you to select your display adapter's make and model, 
and allow you to select the "Universal" video driver or an additional 
monochrome monitor.

* Setup will prompt you to select the type of mouse you are using (none, 
serial-COM1, serial-COM2, or PS/2). The bus mouse is not supported.

* You can change your display adapter or mouse later by running Display 
Adapter or Mouse Setup from the SoftICE start menu (Windows 95) or the 
SoftICE program group (Windows NT).

* For Windows NT only: Setup will prompt you to select a startup mode 
for SoftICE. You can change your startup mode later by running Startup 
Mode Setup from the SoftICE program group.

* To uninstall SoftICE, select Remove SoftICE from the SoftICE start 
menu (Windows 95) or from the SoftICE program group (Windows NT).


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:

http://www.numega.com

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:

1. What startup mode are you using (boot, system, automatic or manual) ?

2. From Win 95/NT, press START and go CONTROL PANEL / DISPLAY / ..., and 
provide us with:

  Adapter type: 
  Manufacturer:
  Version Numbers: 

  ADAPTER INFORMATION

  Chip Type: 
  DAT Type: 
  Memory Size: 
  Adapter String:
  BIOS Info:

* 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:

  ftp://ftp.numega.com/anonymous/tech/

Files:

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

3.  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.  with a second MONOCHROME monitor and a Hercules-compatible card, 
2.  through a serial cable connection, or  
3.  in STANDARD VGA mode.  To use SoftICE in Standard VGA mode you must:

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

    Manufacturer:  Standard Display Types
    Display:  VGA Compatible Display Adapter

b. 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:

* Module-Settings (symbol translation and debug options for your module)
* Module-Translate (creates a .NMS file for pre-loading at start up)
* Edit-SoftICE Initialization Settings (replaces WINICE.DAT)
* File-Load Exports (loads exported symbols for DLLs you select)
* File-Save SoftICE History (replaces WLOG and DLOG)

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, 2031, and 2072). 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, 2031, and 2072 at this point. 

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

1) Due to problems with file system access in boot drivers, if you want 
to load SoftICE as a boot driver, you MUST run ICEPACK.exe before 
doing so. For details on loading SoftICE as a boot driver, read 
NT5BOOT.TXT in the SoftICE directory. It contains an explanation and 
instructions to successfully use SoftICE as a boot device.

2) If using an Windows 2000 build other than build 1946, 2000, 2021, 
2031, or 2072 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 
ftp.numega.com\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.

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

5) 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.

6) 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. 

7) Refer to the NuMega Lab support web page for ongoing support for 
Windows 2000. Instructions, interim builds, and keyboard drivers are 
provided at http://www.numega.com/support/support.shtml.


Using Multiple Monitors with Windows 98 and Windows 2000
-----------------------------------------------------------

NOTE: Where this section refers to Windows 2000 support, this support is 
preliminary.

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:

MONITOR=1

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:

* Don't load multiple display drivers or display driver instances unless 
it's really necessary.

* Use the SYMLOC command to tell SoftICE which module it should 
associate with the symbol table, as follows:

SYMLOC [hmod]

Where hmod is a module handle (a 16-bit number). Use the MOD command 
(e.g. MOD DISPLAY) to get a list of the loaded display drivers and their 
handles.


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
---------------

* When using the universal video driver, you may notice that the Windows 
cursor overlays the SoftICE display. This occurs because the Windows 
cursor is (usually) implemented as a hardware sprite. If this bothers 
you, one way around it is to select a color or animated cursor (in the 
Windows control panel settings); the operating system will revert to a 
software cursor, which can be erased by the SoftICE display rendering.

* Under the following conditions SoftICE for Windows NT may appear to 
hang your machine (it is not really hung however!):
- You start SoftICE for Windows NT manually, and you are NOT in full-
screen (VGA) mode.
- You are using the universal video driver.
- You do not have an "X;" at the end of your SoftICE INIT string.

If all these conditions are met, SoftICE will start but will be 
invisible. Hit 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.

* When debugging 16-bit programs, ? <variable> and WATCH <variable> are 
not supported. However, the locals window is fully functional.

* The NT 3.51 checked build crashes when SoftICE is loaded using the 
default winice.dat file. To fix the problem, change winice.dat as 
follows:
- Add the line: mouse=off
- If you are using a mouse in SoftICE, add "set mouse on" to your INIT 
string. Example: init="set mouse on;X;"

* SoftICE 3.2 for Windows 95 is not compatible with BoundsChecker for 
Windows 3.x (16-bit).

* The Windows 95 shutdown option Restart computer in MS-DOS mode is not 
supported when running SoftICE. Loading SoftICE after choosing this 
option causes the system to become unstable and eventually crash. To 
return to MS-DOS after you shut down Windows 95, set BOOTGUI=0 in 
MSDOS.SYS (really an ini file with hidden, read-only, system 
attributes). Then use Shutdown the Computer to restart your system.

* Windows NT becomes unstable when it runs low on non-paged memory. This 
can occur if you load many symbols and source files. Use Symbol Loader-
Help-About Symbol loader to monitor SoftICE memory usage. You may need 
to be selective about how much information you load into SoftICE. 
SoftICE loads all source files by default. To limit the source files, 
list the files to be loaded in a .SRC file with the same name as your 
module. Put the .SRC file in the same directory with your executable.


Troubleshooting Tips
--------------------

* Erratic keyboard behavior:  If the keyboard behaves erratically when 
you load SoftICE, run Symbol Loader, select Edit-SoftICE Initialization 
Settings, and select the following option on the Troubleshooting page, 
and restart SoftICE:

--- Disable Num Lock and Caps Lock programming

If the erratic behavior persists in Windows NT, select this 
Troubleshooting option as well:

--- Do not patch keyboard driver

* Erratic mouse pointer movement: If mouse movement occurs when SoftICE 
pops up, the operating system and the mouse hardware might become out of 
sync because part of a mouse packet is lost. This results in erratic 
mouse pointer movement. Use one of the following to resync the mouse:
- Type ctrl-M in SoftICE. You may need to do this a few times.
- Switch to a full screen DOS box in Windows NT.
- Use SET MOUSE OFF, followed by SET MOUSE ON, in Windows 95.

* If you encounter a situation where either program logic or a corrupt 
data structure causes SoftICE to enter an endless loop and the 
informational commands do not respond in a timely manner, press the 
Escape (Esc) key one or more times to abort the current operation.

* Debugging Delphi Programs - Be sure to use the $O- option to turn off 
optimizations. When optimizations are on, many unreferenced parameters 
and locals are optimized out, although some reference to them still 
exists in the debug information.


Known Problems Related to Watcom C++
------------------------------------

* Watcom C++ V11.0 does not seem to produce correct Codeview debug 
information in all cases (line number sections are missing). No such 
problem was observed with earlier versions of Watcom C++.

* When Watcom C++ V10.6 is used with the Microsoft linker (from VC++ 
V4.2) to produce VxDs, the line number debug information produced by the 
linker is not correct. The reason for this is unknown, and may affect 
other versions as well.


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:

http:\\www.numega.com\support\knowledgebase\query.asp

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

http://www.numega.com

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

tech@numega.com.  

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

Include the following in your problem report:

* System Configuration (O/S, processor, and RAM)
* Detailed problem description (include exact error message text)
* How to reproduce the problem

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 Compuware Corp.
4/99

