CodeView Versions 4.0x, 4.1, for MS-DOS Memory Use

Last reviewed: July 17, 1997
Article ID: Q93161
4.00 4.01 4.05 4.10 MS-DOS kbtool kberrmsg

The information in this article applies to:

  • Microsoft CodeView for MS-DOS, versions 4.0, 4.01, 4.02 4.05, and 4.1

SUMMARY

Versions 4.0, 4.01, 4.05, and 4.1 of the CodeView debugger for MS-DOS require at least 2 megabytes of memory. Any one of the following memory managers can supply the required memory.

  • VCPI (Virtual Control Program Interface) Memory
  • DPMI (MS-DOS Protected Mode Interface) Memory
  • XMS (Extended Memory Specification) Memory

Versions 3.0, 3.11, and 3.14 of CodeView for MS-DOS provide the /X, /E, and /D options to specify the type of memory to be used. Later versions of CodeView do not support these options. Instead, CodeView checks the types of memory that are available on the system in the following order:

  1. CodeView will use DOS Protected Mode Interface (DPMI) services if they are available. DMPI providers include Windows (DOS session), 386MAX, and QEMM.

  2. CodeView will use EMS memory provided by the VCPI services if they are available.

  3. CodeView will use XMS memory if it is available.

If CodeView does not find EMS or XMS memory, it will not run.

MORE INFORMATION

EMM386.EXE and EMM386.SYS are two examples of VCPI servers. EMM386 also enables a program to use EMS (expanded memory specification) memory, provided by the LIM (Lotus/Intel/Microsoft) version 4.0 specification. Both versions of EMM386 are provided with MS-DOS version 5 and Windows versions 3.x. Ensure that the latest version of the server is installed.

CodeView detects when EMM386 loads VCPI support and tries to use EMS memory. However, if you use EMM386 with the NOEMS option, no EMS will be available. This causes CodeView to fail with the error message "CPU in protected or Virtual mode", since VCPI is detected, but there is no EMS memory available. It is recommended that you allocate 4096K for EMS memory for CodeView to run. EMM386 also needs HIMEM.SYS loaded in order to work.

386MAX.EXE is an example of a DPMI server. Microsoft C/C++ version 7.0 includes 386MAX to provide DPMI memory when Microsoft Windows is not running.

HIMEM.SYS is an example of an extended memory manager.

When CodeView runs in a VDM under enhanced mode Windows, it uses memory that the Windows DPMI server provides. When CodeView runs in a VDM under standard mode Windows, it uses memory from a VCPI server or from an XMS memory manager (preferring VCPI memory). If there is not enough memory allocated to the driver or to the server, the following error may occur:

   CV1303 ERROR:  not enough extended memory

To address this error, increase the memory allocation.


Additional reference words: kbinf 4.00
KBCategory: kbtool kberrmsg
KBSubcategory: CvwIss
Keywords : kb16bitonly


THE INFORMATION PROVIDED IN THE MICROSOFT KNOWLEDGE BASE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. MICROSOFT DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING THE WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL MICROSOFT CORPORATION OR ITS SUPPLIERS BE LIABLE FOR ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, LOSS OF BUSINESS PROFITS OR SPECIAL DAMAGES, EVEN IF MICROSOFT CORPORATION OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES SO THE FOREGOING LIMITATION MAY NOT APPLY.

Last reviewed: July 17, 1997
© 1998 Microsoft Corporation. All rights reserved. Terms of Use.