CHAPTER 10 - Using Soft-ICE with MagicCV or MagicCVW

     10.01 Introduction
     10.02 Running Soft-ICE with MagicCV or MagicCVW
     10.03 Special Considerations
     10.04 The Soft-ICE ACTION command

10.01 Introduction

     MagicCV allows you to run Microsoft's CodeView in less than 8K of
     conventional memory on your 80386 machine.

     MagicCVW allows you to run Microsoft's CodeView for Windows in less
     than 8K of conventional memory on your 80386 machine.

     Using Soft-ICE in combination with MagicCV or MagicCVW allows you to
     have the power of Soft-ICE while still having the convenience of using
     the CodeView product that you are familiar with.

     In the rest of this chapter, statements about MCV will apply to both
     MagicCV and MagicCVW, and statements about CV will apply to both
     CodeView and CodeView for Windows.

10.02 Running Soft-ICE with MagicCV or MagicCVW

     To use Soft-ICE 2.0 and MCV together, you must install S-ICE.EXE as a
     loadable device driver. S-ICE.EXE comes on the Soft-ICE diskette. S-
     ICE.EXE replaces NUMEGA.SYS in CONFIG.SYS. Use the /MCV, /EMM, and the
     /EXT switches as if using MagicCV or MagicCVW alone. There are
     additional switches that you may want to use for Soft-ICE. Refer to
     chapter 6 for information about these switches.

     To run MagicCV or MagicCVW after Soft-ICE has been loaded, refer to
     your MagicCV or MagicCVW manual.

     Notes : MagicCVW requires Soft-ICE version 2.00 or greater. MagicCV
     requires Soft-ICE version 1.02 or greater. The S-ICE.SYS and
     NUMEGA.SYS drivers were shipped with some versions of Soft-ICE. The
     S-ICE and NUMEGA drivers must be replaced by S-ICE.EXE before you can
     run MagicCV and Soft- ICE 2.0 together.

10.03 Special Considerations

     Two Virtual Machines : When you are using both Soft-ICE and MCV
     together, you must keep in mind that CV is in a separate virtual
     machine from the target environment. You can pop Soft-ICE up from
     either virtual machine, i.e., when CV is running, or when the target
     program is running.

     If you pop Soft-ICE up while the target program is running everything
     works as defined in the Soft-ICE manual. If you pop Soft-ICE up while
     CV is running (typically done to break points), you must keep a few
     points in mind:

   * The registers are those of CV and they CAN NOT be changed.
   * For convenience, the Soft-ICE MAP command displays the memory map of
     the target program virtual machine, not the memory map of the CV
     virtual machine. The highlighted area in the memory map may not be
     correct.
   * Any display or modification of memory occurs in the target program's
     virtual machine.
   * You have no visibility into the CV virtual machine except for the
     display of register values. Remember that when popping up the Soft-ICE
     window while CV is active, the register values are those of CV and
     should not be modified.
   * Instruction and program tracing is disabled from the Soft-ICE window
     when CV is active. This is to prevent confusion, because a trace would
     actually step through CV, not through the target program. If you
     attempt to do a Soft-ICE Trace (T) or Program Step (P) command while
     CV is active, you will get the warning message: "Function not
     available in CV virtual machine." To trace through your target program
     code instead, you can do one of two options:
   * Use the CV trace command. To do this, exit the Soft-ICE window using
     the Soft-ICE X command, then do one or more CV traces to step through
     the target program.
   * Use Soft-ICE to go to the target program address, then use the
     Soft-ICE T or P commands to step through your target program. To do
     this, exit the Soft-ICE window with the Soft-ICE X command, then press
     the 'F3' key until CV is in 'mixed mode'. This allows you to see both
     the source lines and the instruction addresses. Pop up Soft-ICE. If
     the Soft-ICE window is not already in narrow mode, use the S