PRB: Debugger Does Not Load DLL Using DATA MULTIPLE

Last reviewed: July 18, 1997
Article ID: Q128602
1.00 1.50 1.51 WINDOWS kbtool kbprb

The information in this article applies to:

  • The integrated debugger, included with: Microsoft Visual C++ for Windows, versions 1.0, 1.5, and 1.51

SYMPTOMS

When you debug a 16-bit Windows DLL under Codeview for Windows or Visual C++ integrated debugger, the following error message may be generated:

   Could not load debuggee, library requires separate data
   segment for each task[6].

CAUSE

When an application has implicitly loaded a DLL, the DLL is loaded before the application. If the DLL cannot load for any reason, the application (the debuggee, in this case) will not load.

This error in the DLL means that the MULTIPLE flag is used in the DATA statement in the .DEF file of the DLL. This must be SINGLE or else the DLL will not load.

RESOLUTION

On the DATA statement in the .DEF file of the DLL, change the MULTIPLE flag to SINGLE and relink the DLL.

MORE INFORMATION

To reproduce this problem, use the SELECT example in the \MSVC\SAMPLES\SELECT directory. Change the DATA statement in SELECT.DEF to MULTIPLE instead of SINGLE.

NOTE: It is possible to create a DLL using DATA MULTIPLE in the .DEF file; however, Microsoft does not recommend doing this.


Additional reference words: 1.00 1.50 1.51
KBCategory: kbtool kbprb
KBSubcategory: WBDebug
|* noupdate
Keywords : kb16bitonly WBDebug kbprb kbtool
Version : 1.00 1.50 1.51
Platform : WINDOWS


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 18, 1997
© 1998 Microsoft Corporation. All rights reserved. Terms of Use.