PATCH: OutputDebugString() Without \n May GP Fault in MSVC.EXEID: Q123493
|
If character strings passed as arguments to the OutputDebugString() API do not end with a newline character \n, corrupt output appears in the Integrated Debugger's Output Window. In addition, a general protection fault (GP) fault can occur in MSVC.EXE.
The Microsoft Foundation Classes (MFC) TRACE() macro and CDumpContext class both use the OutputDebugString() API to send information to the Integrated Debugger's Output window. Therefore, using a character string without a newline character with the MFC TRACE() macro or CDumpContext class, will also cause this problem.
Avoid passing strings that do not have an appended newline character to OutputDebugString(), TRACE(), and CDumpContext objects.
Microsoft has confirmed this to be a bug in the Microsoft products listed
at the beginning of this article. This problem was not reproducible in
Microsoft Visual C++, 32-bit Edition, version 4.0.
NOTE: Microsoft has released a patch to Visual C++ version 1.5 that will
fix this problem. This patch will modify the Visual Workbench 1.50, the new
one will be version 1.50.01.
The following file is available for download from the Microsoft
Software Library:
VC1501.exeFor more information about downloading files from the Microsoft Software Library, please see the following article in the Microsoft Knowledge Base:
Q119591 How to Obtain Microsoft Support Files from Online Services
int i;
for (i=0; i<500; i++)
OutputDebugString( "This is a test!!!" );
Additional query words: GPF
Keywords : kbfile kbpatch kbDebug kbide
Version : 2.00
Platform : NT WINDOWS
Issue type :
Last Reviewed: July 30, 1999