BUG: Memory Leak Occurs when Choosing Make EXE & Compiling App

Last reviewed: December 5, 1995
Article ID: Q139567
The information in this article applies to:
  • Professional and Enterprise Editions of Microsoft Visual Basic, 16-bit only, for Windows, version 4.0

SYMPTOMS

Choosing Make EXE and compiling an application into an executable for the first time in an instance of the Integrated Development Environment (IDE) results in an approximately 1.75 megabyte (MB) memory leak. Subsequent compilations into an executable file result in approximately 50K memory leaks. System resources are not affected. All memory is regained once the Visual Basic IDE is shut down.

STATUS

Microsoft has confirmed this to be a bug in the 16-bit version of Visual Basic 4.0 for Windows. We are researching this problem and will post new information here in the Microsoft Knowledge Base as it becomes available.

MORE INFORMATION

On most systems, the memory leak should not affect system performance until available memory results in Windows swapping to disk for additional virtual memory. To work around this problem, close Visual Basic after making an executable and restart Visual Basic to continue working on the project.

The sample application VISDATA, found in the \samples\visdata directory, produced the following results on an 8 MB machine with virtual memory disabled. Free memory was determined by running a secondary application which called the GetFreeSpace Windows API function.

       Start: 6,342,592 Bytes free
1st Make EXE: 5,903,520 Bytes free 2nd Make EXE: 5,860,736 Bytes free 3rd Make EXE: 5,779,008 Bytes free 4th Make EXE: 5,744,928 Bytes free 5th Make EXE: 5,708,928 Bytes free


KBCategory: kbprg kbbuglist
KBSubcategory: EnvtDes
Additional reference words: 4.00 vb4win vb416 buglist4.00


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: December 5, 1995
© 1998 Microsoft Corporation. All rights reserved. Terms of Use.