CV.TXT File

          Product Information for Microsoft(R) CodeView, Version 4.01
       Copyright (C) 1992, Microsoft Corporation.  All rights reserved.

     This document contains release notes for version 4.01 of Microsoft
     CodeView for MS-DOS(R) and Microsoft Windows(TM) operating systems.

     Remote Debugging with CodeView

     The required files needed on the host and the remote debugging
     machine are operating-system dependent.

     For running CodeView under MS-DOS, the following files must be
     installed on the MS-DOS host. These files are needed for all
     execution models:

     - CV.EXE (CodeView kernel)
     - SHD1.DLL (symbol handler)
     - EED1CXX.DLL or EED1CAN.DLL (C++ expression evaluator or ANSI C
       expression evaluator. Only one is needed, but EED1CXX.DLL
       is required for programming with C++.  EED1CXX.DLL is the only
       expression evaluator provided with MASM.)

     For remote debugging, you need to include these statements in the
     [RCVCOM] section of your TOOLS.INI file:

     parameters: com1:9600

     or specify this at the command line:

     RCVCOM [-p com1:4800] [-r] [-?]

     where [ ] represents an optional parameter. See page 370 in the
     "Environment and Tools" manual for a description of these parameters.

     Remote debugging has three limitations:

     - You must specify that the shell be exclusive.

     - The recommended baud rate is 9600. If you experience any problems,
       try decreasing the baud rate.

     - The shell should be specified as full screen.

     Specify these settings in a .PIF file or in an MS-DOS session. Use the
     Settings command to specify these settings in an MS-DOS shell.

     If you install a CodeView DLL in a directory other than where Setup
     installs it, specify the path of the DLL with the appropriate entry
     in your TOOLS.INI file. For example:


     See also "Configuring CodeView with TOOLS.INI" on page 301, and
     "Remote Debugging" on page 367, both in the "Environment and Tools"

     The following four sections describe additional files you need for
     specific hosts and targets.

          DOS-Hosted, DOS-Targeted Debugging: Host Computer

          If you are not doing remote debugging, these additional files
          must be installed on the host computer for DOS-hosted,
          DOS-targeted debugging:

          - EMD1D1.DLL (DOS host/DOS target execution model)
          - TLD1LOC.DLL (local transport layer)

          If you are doing remote debugging, these additional files must
          be installed on the host computer for DOS-hosted, DOS-targeted

          - EMD1D1.DLL (DOS host/DOS target execution model)
          - TLD1COM.DLL (COM port transport layer)

          To specify these transport options, use the TRANSPORT statement
          in your TOOLS.INI file. The path must be specified:


          If you do not specify COM#:baud_rate in the TRANSPORT statement,
          CodeView prompts you for it.

          You must also add the Native entry to your TOOLS.INI file giving
          the execution model. The path is required:

          NATIVE:C:\CV4\EMD1D1.DLL (for DOS host/DOS target execution model)

          DOS-Hosted, DOS-Targeted Debugging: Target Computer

          If you are doing remote debugging, this file must be installed
          on the target computer for DOS-hosted, DOS-targeted debugging:

          - RCVCOM.EXE (remote CodeView for COM port)

          DOS-Hosted, Windows-Targeted Debugging: Host Computer

          If you are doing remote debugging, these additional files must be
          installed on the host computer for DOS-hosted, Windows-targeted

          - EMD1W0.DLL (DOS host/Windows target execution model)
          - TLD1COM.DLL (COM port transport layer)

          DOS-Hosted, Windows-Targeted Debugging: Target Computer

          If you are doing remote debugging, these additional files must be
          installed on the target computer for DOS-hosted, Windows-targeted

          - RCVWCOM.EXE (remote CodeView for COM port)
          - DMW0.EXE (debug monitor on Windows target)
          - TOOLHELP.DLL (Toolhelp)

     Debugging Locally on an 80286

     To run CodeView with Windows and debug locally on an 80286 computer,
     these files must be installed on the host computer:

     - CVW4.EXE (CodeView kernel)
     - EEW0CXX.DLL (C++ expression evaluator)
     - EEW0CAN.DLL (ANSI C expression evaluator)
     - SHW0.DLL (symbol handler)
     - EMW0W0.DLL (Windows-Windows execution model)
     - TLW0LOC.DLL (local transport layer)
     - TOOLHELP.DLL (Toolhelp)

     Running CodeView on an 80286 Computer

     To run CVW on an 80286 computer, delete CVW.EXE and rename CVW4.EXE as
     CVW.EXE. Local debugging on an 80286 computer with an EGA adapter
     requires a secondary monitor. Single-screen debugging is not supported.
     Local debugging on an EGA requires CodeView to be invoked with the /2
     command-line option.

     Debugging Code Which Uses 32-Bit Registers
     CodeView does not support single-stepping through code which uses
     the 32-bit registers of the 80386 and higher CPUs, if a DPMI server
     is present.  Windows 3.1 and 386-MAX are examples of DPMI servers.
     In order to single-step through 32-bit code, you must exit Windows or 
     disable your DPMI server and use a VCPI server such as EMM386.EXE to 
     run CodeView.  Alternately, you can use a different debugger such as 
     WDEB386 (available in the Microsoft Windows Software Development Kit).

     CodeView's Access to Function Code in Libraries

     The MASM CodeView debugger and linker do not guarantee that the
     name of an .OBJ file is the same name the debugger or linker uses
     to access the function code. To be certain of function access, use
     the /f option when compiling. To avoid problems, do not put code in
     include files. If you do put code into include files, specify the
     function as inline.

     Unloading DLLs When CodeView Terminates

     You may have applications that use the LoadLibrary function to load
     DLLs to be used by the application. When CVW.EXE terminates or
     restarts such applications, Windows terminates the application without
     unloading DLLs or decrementing the DLL usage count. As a result, DLLs
     still exist in the system. To unload DLLs, you must either exit
     Windows and restart, or use a utility.

     Removing CodeView 3.07 from SDK Program Manager Group

     You can safely remove CodeView 3.07 from your SDK Program Manager 
     group to avoid confusion with the CodeView for Windows provided 
     with MASM or MS C/C++.

     Unsuccessful Connection to Remote Terminal

     A remote monitor may appear to hang (the screen clears except for 
     the CodeView sign-on banner) when connecting to it from a host that 
     is running the debug kernel. In order to resolve this situation, 
     retry the connection when the debug kernel is not running on the 
     host computer.

     Running Screen Saver Programs While Debugging

     Do not run screen savers such as Idlewild or AfterDark while
     debugging, as their interactions with Windows can cause problems
     when debugging.

     MS-DOS Session Running in a Window Does Not Have Mouse Support

     Running CodeView with the /2 option in an MS-DOS session window does
     not have mouse support. If you want mouse support, change the
     DOS session to full screen.

     Application I/O When Debugging Can Cause Screen Corruption

     If an application executes an I/O operation when the Flip/Swap
     option is OFF, the screen may be corrupted.

     Recovering From "Internal Debugger Error"

     If CodeView generates an "Internal debugger error," restart your

     Debugging Applications That Use a Mouse

     If you are using CV.EXE in a Windows MS-DOS session, and if you are
     debugging an application that uses or alters the mouse, you must
     specify the CodeView /M option to disable the mouse. This option is
     necessary because the DPMI services provided by Windows 3.x in
     enhanced mode do not allow for saving and restoring the mouse state

     Setting the Scope of the Show Address Option in CodeView

     The printed documentation and Help incorrectly list the
     syntax for setting the scope of the Show Address option in
     the CodeView Command window (OL) as:


     instead of:


     The + and - switches can be used to turn other options on or
     off, but will cause a syntax error if used to modify the scope
     of the Show Address option.

     Several options for the OL command can be chosen at the same time.
     Each time you use the OL command, the scopes you specify will be
     turned on and the scopes you don't specify will be turned off.
     The OL command does not toggle the scopes. For example, the command:


     turns on lexical, function, and global scope while it turns off module
     and executable scope.

     Disable the Minimize On Use Option When Debugging

     Running an application in CodeView for Windows can disable
     mouse and keyboard control if the Minimize On Use option
     is set in the Windows Program Manager.  This behavior occurs
     if you run an application using F5, restart from the Run
     menu, and begin to debug the application. If you experience
     this problem, use CTRL+ALT+SysRq to stop the application,
     issue the WKA command from within Codeview for Windows, and
     choose Exit from the File menu to return to Windows.


     Microsoft, MS, MS-DOS, and CodeView are registered trademarks, and
     Windows is a trademark of Microsoft Corporation.  386-MAX is a
     trademark of Qualitas Corporation.

     NOTE: Microsoft improves its languages documentation at the time of
     reprinting, so some of the information in this file may already be
     included in your manuals.