KnowledgeBase Archive

An Archive of Early Microsoft KnowledgeBase Articles

View on GitHub

Q43530: QB.EXE 4.50 Hangs If File Unloaded While Watch Is Set

Article: Q43530
Product(s): See article
Version(s): 4.50
Operating System(s): OS/2
Keyword(s): ENDUSER | SR# S890410-127 buglist4.50 B_BasicCom | mspl13_basic
Last Modified: 21-FEB-1991

Choosing to UNLOAD a file while a Watch on a variable is set hangs the
QB.EXE editor, requiring a warm or cold reboot if operating under
MS-DOS. If you are running under OS/2, this choice hangs the DOS
compatibility box. This problem does not occur when UNLOADing a file
if a Watchpoint is set to watch an expression.

Microsoft has confirmed this to be a problem with QB.EXE in QuickBASIC
version 4.50. This problem was corrected in QBX.EXE in Microsoft BASIC
Professional Development System (PDS) version 7.00 (fixlist7.00).

Example 1
---------

To demonstrate this problem do the following:

1. Type the following two lines in the QuickBASIC editor:

      B$ = "Hello"
      END

2. Save the file by choosing Save As from the File menu.

3. Choose Add Watch from the Debug menu by pressing ALT+D and then
   pressing "A".

4. Enter B$ as the expression to watch. Press ENTER.

5. Choose Unload from the File menu by pressing ALT+F and then
   pressing "U". Press ENTER to UNLOAD the program. The editor will
   then display a menu prompting you to choose a new main module. If
   the editor does not hang, press ENTER again to choose "Untitled" as
   the main module. At this point the editor will hang, requiring a
   cold or warm reboot.

Example 2
---------

The following exact steps also cause QB.EXE version 4.50 to hang under
similar circumstances:

 1. Start QuickBASIC and load any Quick library:

       QB /L QB.QLB

 2. Type the following and press ENTER:

       PRINT "any text"

 3. Press the UP ARROW cursor key, thus placing the cursor under the
    "P" in PRINT.

 4. Press F9, thus placing a breakpoint on that line.

 5. Run the program by pressing SHIFT+F5.

 6. Select the Debug menu with ALT+D and press ENTER, thus choosing to
    set a watch variable.

 7. Type FRE("") as the watch variable and press ENTER.

 8. Press ALT+F+L (to select the Load File command), and press ESC.

10. Press ALT+F+U (to select the Unload File command), and press
    ENTER.

11. Press TAB, then the SPACE key, then ENTER, and the editor will
    be hung.

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 1986-2002.