DOCUMENT:Q105118 26-JUN-2001 [utilities] TITLE :PRB: CodeView Displays "Bad DLL Format in 'Filename'" PRODUCT :Microsoft Programming Utilities PROD/VER:: OPER/SYS: KEYWORDS:kberrmsg kbCodeView kbDebug kbVC kbprb ====================================================================== ------------------------------------------------------------------------------- The information in this article applies to: - Microsoft CodeView for MS-DOS - Microsoft CodeView for Windows ------------------------------------------------------------------------------- SYMPTOMS ======== When starting CodeView, or when CodeView loads a program to debug, the following message is displayed: Bad DLL Format in 'path\filename' CAUSE ===== Here are four of the most common reasons for this message (resolutions to each of the causes is shown below): 1. There are not enough free file handles. 2. There is not enough available memory. 3. A dynamic-link library (DLL) from a previous version of CodeView is being loaded. 4. CodeView is trying to load an expression evaluator for a different operating system. RESOLUTION ========== To work around each problem: 1. Check available file handles, using STRESS.EXE. There should be a minimum of six available file handles. If there are too few handles, shut down an application and retry, or increase the "FILES=" entry in the CONFIG.SYS file. 2. CodeView can be run with as little as 2 megabytes (MB)of memory, although more is recommended. Use STRESS for Windows, MEM for MS-DOS, or some other memory utility to find out how much memory is available. Shut down other applications and remove any unnecessary terminate-and- stay-resident (TSR) programs. 3. This happens most commonly when upgrading from C/C++ 7.0 to Visual C++ 1.0, without removing C/C++ 7.0. The CodeView DLLs are still in the path. Unlike CodeView for Windows, CodeView for MS-DOS looks for DLLs in the path first. So, for example, CodeView 4.1 might find a 4.0 DLL and try to load it, resulting in an error. To eliminate this problem, remove the path entry pointing to the C700 directory, remove C700, or rename the offending DLL to something else. 4. Attempting to have CodeView for Windows load one of the MS-DOS expression evaluators through an Eval statement in the [CVW] section of the TOOLS.INI file will also cause the "Bad DLL format in 'filename'" error to be displayed. "Filename" is the name of the expression evaluator that CodeView for Windows is trying to load, and will be either EED1CAN.DLL or EED1CXX.DLL. The message is issued immediately after the file to be debugged has been specified. This is discussed in more detail in the Knowledge Base (KB) article Q87922. MORE INFORMATION ================ CodeView version 4.0 introduces a new, flexible architecture for the debugger. CodeView is composed of a main executable program, CV.EXE (CodeView for MS-DOS) or CVW.EXE (CodeView for Windows) and a collection of dynamic-link libraries. Each DLL implements an aspect of the debugging process. For more information on this architecture, see the CodeView documentation. Additional query words: 4.00 4.10 ====================================================================== Keywords : kberrmsg kbCodeView kbDebug kbVC kbprb Technology : kbAudDeveloper kbCodeView kbZNotKeyword3 Version : : Issue type : kbprb ============================================================================= 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. Copyright Microsoft Corporation 2001.