Release 2.7
Note: You can verify that you have Release 2.7 installed on your computer by issuing the ver command at the SoftICE command line prompt.
SoftICE is a powerful system-wide debugger that supports source level debugging of any software, driver, service, and most bios code on either a single or dual machine configuration.
Note: See the Readme Archive for SoftICE commands and features introduced in previous versions.
Symbol Retriever Utility.
This utility allows you to download
symbols, and optionally, will translate and load the symbols into SoftICE
Display physical memory in the data windows. To display physical memory in the data windows, use the "–p option" on any of the dX commands (i.e., dd, db, dw). Note that if your hardware functions as “reset on read,” opening a physical data window will cause a data reset. SoftICE reads in 16 bytes of data per line of data window. No additional caching/read ahead is done.
Native support for Windows.NET build 3621. If API Hook failures occur, you will need to use NTSYMBOLS=ON and load the proper symbols.
Quick support of Unreleased/Beta operating systems. See SoftICE Support of Unreleased OS Versions.
Improved Windows XP support.
Support for single processor APIC machines.
Decoding of all processor feature bits.
User-selectable output format.
SET TYPEFORMAT N - This will define the layout and format of the local and watch windows.
The default type format can be changed by adding the variable TYPEFORMAT to winice.dat. Valid TYPEFORMAT values are 1, 2, 3.
SET LONGTYPENAMES [ON|OFF] - When set to OFF, "unsigned longs" will be shown as "ulong", "unsigned chars" as "uchar", and so forth. The default is OFF.
Support for Intel Hyperthreading processors.
Relative Window resizing.
In the RC1 release, this command has been enhanced to allow for spaces in between the +/- and N number and ‘WC + 5’ is now permitted.
WC +N will increase the code window by N rows; WC –N will decrease the code window by N rows.
All window sizing commands support relative sizing.
Enhanced C++ support.
SoftICE now supports the C++ namespace::class::method syntax for symbols. Any number of :: operators are now allowed within a symbol name.
Reading and writing of x86 and AMD K7 MSRs (Model Specific Registers).
New command: MSR displays or changes processor MSRs.
Issuing the MSR command by itself will display all known common MSRs. along with their values.
MSR startreg endreg – Displays a range of readable MSRs.
MSR –w regh regl value – Allows for writing to an MSR.
MSR –u startreg endreg will dump all MSRs within the range.
Enhanced USB command.
The USB -schedule command will now show only active TDs by default.
USB -schedule -verbose will display all TDs in the schedule, active or not.
Enhanced BPx commands.
When SoftICE pops up on a user breakpoint, the breakpoint number is shown.
Breakpoints can be cleared, disabled, enabled, or edited quickly after a popup. The 'bc', 'bd', 'be', and 'bpe' commands will now act on the current breakpoint if no breakpoint number is specified, allowing breakpoints to be cleared, disabled, enabled, or edited quickly after a popup.
Support for additional KD Extensions.
Specifically support has been added for the ACPI KDExtension.
Improved SMP support.
Ability to remap keyboard mappings to non-QWERTY layout keyboards.
Keyboard mappings assumes that you are using a ‘QWERTY’ keyboard layout. If you happen to be using a non-QWERTY layout keyboard, you will need to copy the included keymap.exe utility program into your \winnt\system32\drivers directory and execute keymap. If SoftICE is currently running, you will need to reboot your system for the changes to take effect. Running keymap will remap all the keyboard scan codes to the keyboard layout that is currently being used by Windows. The one key combination that cannot be remapped is the popup hotkey. The popup hotkey will always be the third character from the left on the second row above the space bar. To reset the keyboard scancodes back to their defaults, run 'keymap /USA.'
Return to:
Note: SoftICE documentation is presented in Adobe PDF format. If you have not yet installed the Adobe Acrobat Reader on your system, you can find the setup at http://www.adobe.com/products/acrobat/readstep2.html.
SoftICE Documentation
Online versions of the SoftICE manuals: \DriverStudio\SoftICE\Using SoftICE.pdf and \DriverStudio\SoftICE\SoftICE Command Reference.pdf
SoftICE Command Reference document: \DriverStudio\Help\CommRef.chm
Return to:
Context Switch problem in SoftICE. If a thread is switched in the thread window, and if a non top-level stack entry is chosen in the stack window, the context will switch to the top-level context when you switch into the data window or code window. There is currently no workaround and a solution is being investigated for a future release of SoftICE.
Starting SoftICE Failure in System Mode and Automatic Mode on XP. Some users are reporting that when running SoftICE on Windows XP, if SoftICE is set to start in System or Automatic mode, SoftICE will not start. This is most likely due to XP’s deferred driver loading for quicker boots. The problem is being investigated. The current workaround is to set SoftICE to start either in Boot Mode or Manual Mode.
Win9x users must set SoftICE video memory size to a multiple of 1024 Kbytes. Failure to do so will result in a system crash. This will be fixed in a future release of SoftICE.
SoftICE does not return the keyboard LEDs to their previous Windows settings when popping down. This will be fixed in a future release of SoftICE.
USB keyboard operations:
Certain
USB keyboards do not respond to the USB get_report
request properly. (On popup, SoftICE uses this request to determine
if a key state has changed. This, in turn, allows SoftICE to support typematic
on keys which cause the debugger to pop down, such as F8 and F10 in the
default keyboard configuration.) If you are using one of these keyboards,
you will see an error message from SoftICE immediately after a popup.
To work around the problem, you will need to add the following DWORD registry
key on Windows NT/2000/XP, and set its value to 1:
\HKLM\System\CurrentControlSet\Services\ntice\UsbDisablePopdownTypematic
For Win9x/Me platforms, add
the following entry to your WINICE.DAT file:
USB_DISABLE_POP_TYPEMATIC=ON
This will disable typematic when SoftICE pops down. Typematic will
still work on all keys that do not cause SoftICE to pop down.
When using
a USB keyboard with SoftICE, Windows will display the following message:
**** CHATTERY KEYBOARD : Keyboard is sending useless reports. Tell
'em to fix it.
This message is caused by the SoftICE keyboard hook code, which prevents
Windows from seeing SoftICE's hotkey. This message is normal when using
a USB keyboard with SoftICE, and can be ignored.
Problems
with Adobe Acrobat 5.0 (Win9x Systems only)
Problems
Printing from Help
Return to:
By its nature, SoftICE requires extensive knowledge of both internal OS data structures and function signatures and relative locations. When a new version of the Operating System is released, both of these bits of information usually change and require a rebuilding of SoftICE after the proper OS data structures are "reverse-engineered." Starting with Release 2.7 of SoftICE, this information has now been moved to a supporting data file. This data file is located in your drivers directory and is called “osinfo.dat”(released operating systems) or “osinfob.dat”(beta operating systems). The data file will be updated as "hotfixes" are released from Microsoft and whenever future versions of the OS are released. The new data file can be obtained by contacting Technical Support or by going to Compuware's DriverStudio website.
In certain circumstances, the OS data structures remain the same, yet the function signature and relative locations have changed. In these cases, you will see API Hook Failures displayed in the SoftICE command window. When these failures occur, SoftICE will not function properly depending upon which API Hook failed. A solution is provided for this situation:
Load up the “SoftICE Settings” application.
Go to the “Advanced” page.
Add an entry of NTSYMBOLS=ON.
Get the symbols for ntoskrnl.exe and translate them to NMS format. You can either use the Symbol Retriever utility to get the correct symbols, or get them from the Support CD provided by Microsoft.
Go to the “Symbols” page and add in the ntoskrnl.nms that you've just translated.
Now, reboot your machine.
You should have no hook failures at this point. If you still have hook failures or are unable to locate symbols, another option is available. This option requires that you set registry entries. Contact Technical Support for additional information.
Return to:
Recently, there has been some concern over the disappearance of 'mono monitors', for mono monitors have always been an important part of the SoftICE development process. These monitors are needed because they allow real-time debug print-style messages, module loads, unloads, and SoftICE informational messages to be displayed. In the past, it was possible to work around this by using two VGA video cards in the same system (as long as one of the VGA video cards had a "VGA Disable" jumper located on it). At some point in time, due to various reasons, video card manufacturers stopped putting VGA disable jumpers on their cards. This now makes it impossible to boot into Windows with VGA Mode on one monitor and Windows High Res Mode on the other. (The condition is due in part to Windows as well as BIOS requirements.)
Note: These definitions relate to two VGA card usage.
System BIOS
VGA Disable Jumper
VGA Mode
Windows High Res Mode
Note: The following installation has only been tested with Windows displaying its desktop on the AGP video card and with SoftICE using the PCI video card.
Use the following procedure to set up your system for debugging.
Depending on
your BIOS, you may need to change the settings first.
a. If
you receive a BIOS error beep code (typically one long beep followed by
two short beeps), you will need to power down, remove one video card,
and then reboot.
b. Upon
reboot, enter your BIOS setup. From here you will need to find your video
configuration settings. It is typically on the Advanced page.
c. In
the Video Configuration settings will typically be an entry entitled "Primary"
or "Primary Video". Choose PCI.
d. Save
your configuration and reboot.
e. Now
power down your machine and reinstall your PCI video card.
Boot into Windows.
a. At
this point in time, you should see the VGA screen which has the OS loader
message (i.e., the output from /sos) and the Windows Desktop displayed
on your AGP video card. (If you see a DOS text screen on one monitor and
the Windows desktop on the other monitor, proceed to Step 3.)
b. If
you see the Windows desktop on both machines, you will need to make an
additional change to Windows. Right-click on the desktop, choose properties;
then, choose Settings.
c. On
the Settings page, choose the PCI monitor by clicking on the proper monitor.
d. Uncheck
"Extend my Windows Desktop onto this monitor".
Go to the SoftICE
configuration page in the Configuration dialog and select Video Settings.
a. Deselect
Universal video driver and choose Full Screen VGA.
b. For
Video Driver, be sure to select "Standard VGA".
Go to the General SoftICE settings page. On the init line, add "altscr vga" at the start of the line.
Reboot your machine.
Now when you start SoftICE, SoftICE should always be visible just as if you were using a mono monitor.
The critical point to the process is that the BIOS needs to be able to initialize just one VGA video card. If you can boot your machine so that you have the VGA output going to only one monitor, you should be able to accomplish mono-style SoftICE with two VGA cards.
Return to:
Note: If you have installed any of the supplied network drivers for SoftICE, you will need to manually remove them before uninstalling DriverStudio.
Please refer to Using SoftICE, Chapter 9, "Remote Debugging with SoftICE," for full information on installing, uninstalling, and using the SoftICE Remote Debugging feature.
Return to:
Customer Service is available to answer any questions you might have regarding upgrades, serial numbers and other order fulfillment needs. Customer Service is available from 8:30am to 5:30pm EST, Monday through Friday. Call:
In the U.S. and Canada: 1-888-283-9896
International: +1-603-578-8103
Technical Support can assist you with all your technical problems, from installation to troubleshooting. Before contacting Technical Support, please read the relevant sections of the product documentation and the Readme files.
You can contact Technical Support by:
E-Mail: Include your serial number and send as many details as possible to:
World Wide Web: Submit issues and access additional support services at:
http://frontline.compuware.com/nashua/
Fax: Include your serial number and send as many details as possible to:
1-603-578-8401
Telephone: Telephone support is available as a paid* Priority Support Service from 8:30am to 5:30pm EST, Monday through Friday. Have product version and serial number ready.
In the U.S. and Canada, call: 1-888-686-3427
International customers, call: +1-603-578-8100
*Installation Issues: Technical Support handles installation and setup issues free of charge.
When contacting Technical Support, please have the following information available:
Product/service pack name and version.
Product serial number.
Your system configuration: operating system, network configuration, amount of RAM, environment variables, and paths.
The details of the problem: settings, error messages, stack dumps, and the contents of any diagnostic windows.
The details of how to reproduce the problem (if the problem is repeatable).
The name and version of your compiler and linker and the options that you used in compiling and linking.
Return to:
Note: This archive contains README information from previous releases.
=======================================
Release 2.6
Note: You can verify that you have Release 2.6 installed on your computer by issuing the ver command at the SoftICE command line prompt.
CONTENTS
What's New in This Release?
Note: See the Readme Archive for the SoftICE commands and features introduced in Release 2.5.
Windows XP Support. Release 2.6 of SoftICE supports the Windows XP gold release.
New Symbols. Supports symbols in the VC 7 PDB format.
========================================
DriverStudio Release 2.5
CONTENTS
What's New in This Release?
New Features
New/Updated Commands
Note: You can verify that you have Release 2.5 installed on your computer by issuing the ver command at the command line prompt.
SoftICE for DriverStudio Release 2.5 offers the following new features and new and/or updated commands.
SoftICE now has support for OHCI and UHCI USB Keyboards and Mice on WinXP, Win2K, and Win9x systems.
There are a few limitations to be aware of:
Maximum of eight USB keyboards/mice may be used with SoftICE.
SoftICE doesn't set LEDs on USB keyboards
For USB mice, make sure USB Mouse is selected in the configuration program.
USB HID devices will only work at boot time if the BIOS supports legacy mode operation.
During boot, there is a brief interval when the USB controllers have been taken out of legacy mode, but before their native Windows drivers have finished loading, when USB will not work. This is not a problem with SoftICE.
Symbol Loader has been rewritten to provide users with a Workspace and Session Environment. The new features are extremely powerful and useful. Users are now able to load and unload entire groups of symbols files, translation, links, etc.
SoftICE now supports up to four data windows that are visible on the screen at any point in time. Each data window can display information in its own unique format as well as display an address that is independent of the other data windows.
Opening and Closing a Data Window
Opening and closing a data window can be accomplished by one of the following methods. (The data windows are numbered 0, 1, 2, and 3.)
To open or close a specific window you could issue the WD command with a command modifier of .N, where N is 0, 1, 2, or 3. For example to open data window 1 you could issue the command wd.1 This would toggle the view state of data window 1.
To open a data window to a certain size you would issue the wd.N command with the number of lines. For example to open data window 3 with 10 lines of data you would type in wd.3 10 on the command line.
An additional way to open up a new data window is to issue a generic data command with no parameters. Each time the command is issued, a new data window is opened until the point in time when you have all four data windows open.
Single Active Data Window
There
can only be one active data window at any one point in time. The active
data is signified by having its window number in a bold color on the right
edge of the title bar. To set a particular data window active either (1)
click on it with the mouse or (2) issue the data N
command, where N
is the window you would like to be active. For example, to switch to data
window 0, you would type in data 0. If you were to issue the data command
with no parameters this command will switch to the next sequential data
window. If this data window is not currently open, the data command will
open it.
Example: Assume
all four data windows are open and the currently active data window is
data window 2. Issuing the data command without any parameters will switch
the active data window to data window 3. Issuing data again will switch
the active data window to data window 0. All commands that alter the data
window act on the active data window only (for example, dd, db,
shift-f3, dex,
and dd 0x80000000).
When navigating the data windows, the symbol information displayed in the header is updated based upon cursor position.
Popup Menu Definitions SoftICE allows you to define what type of items will show up when the right mouse button is pressed. The menu entries are defined in wince.dat. At this point in time, all edits and modifications must be done with the text editor of your choice.
Popup Menu Limitations There are certain limitations that apply to this version of SoftICE:
Number of menu items 15 (maximum)
Command description length - 13 characters
Command length - 128.
Entry Format The format of the entry in winice.dat is:
MENU=Description, Command Field, flags
Description The description can contain any valid character or space. All trailing spaces are eliminated. It can have a max length of 13 characters.
Command Field The command field can contain a SoftICE command, a macro, and expression evaluator command, or a predefined command. In addition there is a special modifier that can be applied entitled %cp% The command can be any valid SoftICE command. The only limitation is that you use the full command and not take any shortcuts. For example most users type reip In reality, this command is r eip. The entry in winice.dat must follow the form of command followed by space followed by any possible modifiers.. In addition you could add the special flag of %cp%. This modifier replaces the item that is selected at the Cursor Position at that location in the command. So for example r eip %cp% will replace whatever contents is underneath the Cursor Position at the point of the right click that brought up the popup menu.
Predefined Commands These commands have been provided for backwards functional compatibility with the popup menu in previous versions of SoftICE. The predefined commands are:
NMPD_COPY
NMPD_PASTE
NMPD_COPYANDPASTE
NMPD_DISPLAY
NMPD_UNASSEMBLE
NMPD_WHAT
NMPD_PREV
Note: The flags field is currently disabled and is provided for future expansion.
SoftICE can be configured so it does not program the video, keyboard and mouse hardware. This configuration can be used when debugging remotely. Individual hardware component programming can be disabled by adding one of these lines to c:\windows\winice.dat:
NULLINPUT=1 will configure SoftICE to not program the mouse and keyboard.
NULLVGA=1 will configure SoftICE to not program video.
NuMega provides network drivers that cover three classes of network cards: the 3Com 90X series of cards, the Intel E100 series of cards, and the NE 2000 series of cards.
Benefits:
Stable and reliable.
Super fast remote debugging.
Full support of the DriverStudio Remote Data Namespace/Shell extension.
Disadvantages:
Unable to debug remotely until after the boot process.
Invasive if doing net card debugging with a single network card installed.
Works on three classes of net cards (From our user surveys, this covers about 90+% of our current users.)
Note: The SoftICE Universal Network Driver (UND) is only supported on Win2k systems.
SoftICE now has a Universal Network Driver for use with Win2k systems. This network driver will allow SoftICE to use any PCI network card with SoftICE to do remote debugging. Once installed, and after rebooting, inside of SoftICE issue the net setup dhcp or net setup xxx.xxx.xxx.xxx command to allow for remote debugging. Alternatively use the Configuration dialog and navigate to the Network Debugging tab. From the host machine you can use the DriverStudio Remote Data namespace shell extension to connect to a remote machine. Right click on the machine running SoftICE and choose Connect to MachineNAME. Please see the online Help or the documentation for information regarding other uses of the net command.
To install this driver run undsetup.exe located in c:\program files\numega\driverstudio\softice\network\und.
Note: Installing the Universal Network Driver by itself will prevent you from using your network card for standard network transactions, such as web browsing, network browsing, email, and so on. To get around this limitation, we suggest installing a second network card. One network card would be used for SoftICE tasks, while the other would be assigned to normal Windows Networking. If adding a second network card is impractical, we have provided a Virtual NIC driver (VNIC). This driver will allow you to share a single network card for both remote access and internet access. To install the VNIC, open the Control Panel and select Add/Remove Hardware. When the wizard opens, select Add/Troubleshoot, click Next, select Add a new device, then specify that you want to select the device from a list. When the list of hardware types appears, select Network adapter, click Have disk and browse to Program Files\NuMega\DriverStudio\SoftICE\Network\UND\VNIC. Select sivnic.inf from the list, and continue through the remaining prompts. If you run into problems with the VNIC, press Esc during the boot process when the UND driver prompts you. This will abort the loading of the UND, as well as the VNIC. To uninstall the VNIC, simply delete it from the device list, or use the Remove option in the Hardware Wizard.
Benefits:
Stable and reliable.
Super fast remote debugging.
Will work on all PCI cards.
Can debug throughout the entire boot process.
Full support of the DriverStudio Remote Data Namespace/Shell extension.
Disadvantages:
Invasive if doing net card debugging with a single network card installed.
Requires the SoftICE VNIC to be installed if using a single net card and you need to access the network.
SoftICE offers several
methods of remote debugging. There are benefits and disadvantages to each.
If choosing any of the network debugging options, it is strongly suggested
to use two network cards
To facilitate remote debugging, SoftICE now includes the DriverStudio Remote Data Shell Extension. This item is installed on your desktop. By double-clicking on it, you can see all machines on your network running DriverStudio. Additionally, if the SoftICE Network Drivers are installed, you can view the state of SoftICE on that remote system. The possible states are:
State 1
State 2
State 3
You can see if SoftICE is popped up or not in all three states. By right-clicking on a machine name, you can change the SoftICE settings as well as the settings for all DriverStudio components for that target/remote machine. It is also possible to reboot that remote machine by right-clicking and choosing reboot.
When doing serial debugging, use the net comX baudrate for your debugging or setup serial debugging through the Configuration programs 'Serial Debugging' tab.
Note: On the host side, serial.exe and serial32.exe have been eliminated. You must now use the siremote comX baudrate command.
Serial
Debugging on Win9x Systems
Benefits
Disadvantages
Right-clicking on a session/workspace will allow those entries to be added to your boot.ini. This new feature can add a single nms file or an entire session to the LOAD= section of the winice.dat file. It searches for the last LOAD= entry in winice.dat, and adds all the selected entries just after any existing entries. If there are no LOAD= entries in winice.dat, the selected items are appended to the end of the file.
Advanced Tab for SoftICE allows for the addition/editing/deletion of winice.dat entries not accessible from any other "SoftICE Initialization" tab.
Edit capabilities have been added on the "Keyboard Mappings" and "Macros" pages.
The Video Page in the DriverStudio Settings dialog has been redesigned. A request to use an auto-detected video card can only be done on the initial install of DriverStudio, the first time that the video card is seen by the system, or if the detect button is selected.
Several new hotkeys have been added:
CTRL+HOME and CTRL+END now take you to the top and bottom of the command window history buffer.
CTRL+ALT, in combination with the number pad's 7 (Home) key, 1 (End) key, 9 (PgUp) key, or 3 (PgDn) key instantly moves the SoftICE display to one of the four corners of the monitor screen, while CTRL+ALT, in combination with the number pad's 5 key moves the SoftICE display to the center of the screen.
The new and/or updated commands are:
usb
wd.0
wd.1
wd.2
wd.3
bpZ.t
bpZ.p
bpZ.a
bpZ.v
pci
evres (used with BoundsChecker)
SoftICE now makes debugging
with the addition of command modifiers for all breakpoint commands. While
examples and descriptions are based on just the bpx command, the changes
apply to all Break Point commands
Example
1
For the Win9x based OS, the .t, and .p breakpoint command modifiers
apply, but there are also additional modifiers:
.a for the current address context, and
.v for the current vmm id.
Example
2
bpint.p 2e if (eax == Code for NtCreateFile)
The PCI command has been enhanced to provide additional information on the bitfields within the PCI headers.
Modified the PCI command to now display information based upon partial information. For example, pci 0 will dump all devices and functions on bus 0; pci 0 1f will dump all functions on bus 0, device 1f.
There are two supported flags:
The usb d which dumps the host controller registers.
The usb s command dumps the USB host controller scheduler.
Specifying a host controller will dump the registers and schedule for that specific host controller.
EVRES, a new SoftICE command, is used to display resources collected by the BoundsChecker driver BCHKD.SYS. Its syntax is as follows:
EVRES [Process-Type | Object-Type | Driver-Type]
A Process-Type is a process name, a PID or a PCB address. If one is specified, only objects created in that process will be displayed (e.g., Evres system). Only objects created in the system process will be displayed.
An Object-Type is one of the following:
KEY
DIRECTORY
INTERRUPT
FILE
SECTION
EVENT
These Object-Types refer to the types of objects collected by BCHKD. If one is specified only the objects of that type will be displayed (e.g., Evres interrupt). Only interrupt objects will be displayed.
A Driver-Type is a driver name. If one is specified only resources created by that driver will be displayed (e.g., Evres netbios). Only resources created by the netbios driver will be displayed. If no parameters are entered, all resources will be displayed.
For each captured resource, the following information will be displayed:
Handle
Process
Obj Type
Name
EIP1
EIP2
========================================
DriverStudio 2.0
Release Notes
-----------------------------------------------------------------
SoftICE will now support Power Management on Windows 2000. This allows SoftICE to run on a Windows 2000 system that will go into Standby or Hibernate mode without interfering with hardware management.
Warning: If you installed DriverStudio 2.0 , and enabled the power management support, you MUST disable power management support before uninstalling DriverStudio 2.0. If you do not, then your system will not boot correctly after DriverStudio is uninstalled.
To disable power management support, follow these steps:
1. Run "Loader32" by selecting Start | Programs | NuMega DriverStudio | SoftICE | Symbol Loader on the "Start" menu
2. Select Edit | SoftICE Initialization Settings
3. UNCHECK the "Support Power Management" check box, and click "OK"
Now SoftICE will be able to popup remotely during power management cycle.
1 - Run Loader32.
2 - Open the "Edit | SoftICE Initialization Settings" dialog
and chose the "Remote Debugging Tab"
3 - Select a Communication Port from the combo box
This results in the selected COM port's being reserved for SoftICE. The COM port will not be accessible from any other windows application.
- addr: the address of a network packet.
- Length
If you can view a packet in structure mode, but not in detail mode, you should try PACKET NOVALIDATE.
IMPORTANT: Be sure to read the si_millennium.txt file in the SoftICE directory.
SoftICE has been tested on Windows Millennium (build 3000). The Windows Millennium DDK is required to load the SoftICE debugger. The checked version of IO.SYS must be installed via DBGINST.EXE, the debugger install utility from the DDK. Follow these steps to run SoftICE on Windows Millennium.
1) Install the Windows 9x debugger by running DBGINST.EXE from the Windows ME DDK
2) Install DriverStudio.
The DriverStudio install will replace the installed debugger components with SoftICE.
To abort out of the loading of SoftICE on Millennium: This can be done, but it is a several-step process.
- Press F8 at boot time.
- Choose "Step by step confirmation."
- Accept the default option (press ENTER) for every entry except the entry that says: "Device = debugger.exe". When this entry comes up, press the ESC key (or select "No"). This will prevent the loading of SoftICE.
SoftICE can now run over a remote debugging session using an Intel EtherExpress" PRO/100B PCI adapter(TP) (part number: PILA8465B).
BoundsChecker can now collect event and memory usage data on Windows 98. Usage for the EVENT and EVMEM commands is the same on Windows 98 as on Windows NT.
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/support/knowledgebase/query.asp
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: if you select the Universal Video Driver, then you must choose "standard vga" from the monitor list at the top of the display adapter setup screen.)
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:
If this does not work and you are sure that your video card supports DirectDraw, then we recommend that you try:
If you are unable to use SoftICE with your video card AND it supports DirectX, please provide us with the following information:
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:
ftp://ftp.numega.com/anonymous/tech/
Files:
Windows 95: SIWVID95.ZIP
Windows NT: SIWVIDNT.ZIP
Other options which are detailed in the users guide, include the ability to use SoftICE:
Manufacturer: Standard Display Types
Display: VGA Compatible Display Adapter
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.
Other features to check in the new symbol loader:
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.
You can dynamically switch between monitors when SoftICE is popped up. To do this, you need to issue the "Set Monitor N" command (where "N" is one of the monitors listed when you issue the "Set Monitor" command with no additional parameters).
IMPORTANT: The first time you enable the secondary monitor, you need to reboot. If you don't, then when you pop up SoftICE, it will be active, but it won't display anything.
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:
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:
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.
If the erratic behavior persists in Windows NT, select this Troubleshooting option as well:
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.
========================================
Return to:
Copyright 2002 Compuware Corporation