BUG: Printing to stdout with CV /2 Can Cause Screen Corruption (116489)



The information in this article applies to:

  • Microsoft CodeView for MS-DOS 4.0
  • Microsoft CodeView for MS-DOS 4.01
  • Microsoft CodeView for MS-DOS 4.1

This article was previously published under Q116489

SYMPTOMS

Screen corruption occurs when printing to stdout from a DOS application, while using CV /2 to start CodeView in a DOS session under Windows. Portions of the screen may get blanked out and restored from old buffered screens, the mouse position may move to the middle of the screen, or existing text may get overwritten. Note that these problems do not occur when running outside of Windows under native DOS.

RESOLUTION

To work around the problem, you can debug under native DOS or switch to single monitor mode.

Depending on your application, the following may also work while debugging under Windows:

  • Clear the screen before starting CV at the DOS session prompt.
  • If you have Visual C++, start CodeView for DOS from the Workbench Tools menu.

STATUS

Microsoft has confirmed this to be a problem with the interaction between Windows and CodeView for DOS while running in a Windows DOS session. We will post more information here in the Knowledge Base as it becomes available.

MORE INFORMATION

The example program below demonstrates the problem. Once you have built the program, run CodeView in dual monitor mode and step through the code in the debugger, observing the changes to the VGA screen. It is best to begin with a full screen of text before starting CodeView.

Sample Code

/* Compile options needed: /Zi /Od */ 
#include <stdio.h>

void main( void )
{
    int i;

    for( i = 0; i < 50; i++ )
    {
        fprintf( stdout,"Hello World\n" );
    }
}
				

Modification Type:MajorLast Reviewed:9/30/2003
Keywords:kb16bitonly KB116489