PRB: Print Break in MFC App Running in Windows NT 3.51 Checked (138993)
The information in this article applies to:
- The Microsoft Foundation Classes (MFC), when used with:
- Microsoft Visual C++, 32-bit Learning Edition 4.0
- Microsoft Visual C++, 32-bit Professional Edition 2.0
- Microsoft Visual C++, 32-bit Professional Edition 2.1
- Microsoft Visual C++, 32-bit Professional Edition 2.2
- Microsoft Visual C++, 32-bit Professional Edition 4.0
This article was previously published under Q138993 SYMPTOMS
While using the Visual C++ debugger, if you click Print or Print Preview in
an MFC application running under Windows NT version 3.51 Checked Build, a
message box appears:
In the Visual C++ 2.x debugger, the message box contains:
Break caused by hard coded breakpoint instruction
In the Visual C++ 4.0 debugger, the message box contains:
User breakpoint called from code at 0x<8-digit address>
The following message is also printed in the Output Window of the debugger:
BASE: GlobalFree called with a locked object.
CAUSE
MFC queries an HDEVNAMES handle for information about the printer device.
This information is obtained by making calls to GlobalLock to get a valid
pointer to the DEVNAMES structure. Under Win32, it is not technically
necessary to call GlobalUnlock for every GlobalLock, so MFC doesn't always
do so.
The Checked Build of Windows NT 3.51 provides debugging information that
warns you when GlobalFree is called on an object that does not have a lock
count of 0. When this occurs, it outputs a trace message and causes a hard
coded break instruction to be executed.
RESOLUTION
The message and the break can be safely ignored. To continue with execution
in the debugger, you can just click Go on the Debug menu, or press the F5
key.
STATUS
This behavior is by design.
Modification Type: | Major | Last Reviewed: | 12/9/2003 |
---|
Keywords: | kbBug kbDebug kberrmsg kbprb kbprint KB138993 |
---|
|