You may run into problems when debugging screen saver type
applications in the Visual C++ development environment. For example, when
attempting to debug the SCRNSAVE application included with Visual C++ version
2.0, the program starts correctly, but then may fail to return control and the
focus to the debugger.
This is expected behavior. Screen savers don't use the same
desktop as normal applications. When a breakpoint in the screen saver is
encountered, the operating system doesn't switch desktops. Thus, there may be
no screen in which to display the Visual C++ user interface and the breakpoint
is essentially ignored.
There are two possible workarounds to this problem:
- Try debugging your application without using the
Always-on-Top feature. Add the feature when the application is ready to be
- Use remote debugging. For more information on remote
debugging, see the "Debugging Remote Applications" section in the "Using The
Debugger" chapter of the "Visual C++ User's Guide," or search for "remote
debugging," in the Visual C++ Books Online.
Steps to Reproduce Behavior
Using the Visual C++ version 2.0 SCRNSAVE sample in the
\MSVC20\SAMPLES\WIN32\SCRNSAVE directory on the distribution CD, do the
- Build the program with debug information.
- Set a breakpoint on line 73 of FRACTAL.C.
- Set /S as an option for FRACTAL.EXE. To do this, select
Settings from the Project menu. Then select the Debug sheet from the Settings
dialog. Type "/S" (without the quotation marks) on the Program Arguments
- Run the program by pressing the F5 key. The screen should
turn black and appear to hang. Bring up the Task List by pressing CTRL+ESC.
Then quit Visual C++ to regain control of the system.
: The SCRNSAVE sample included with Visual C++ version 4.0 is
entirely different from that of Visual C++ version 2.0; it demonstrates Control
Panel utility library routines for managing "cpArrow" window class/spinner
controls used in applet dialog boxes. NOTE
: No screen saver sample is provided in Visual C++ .NET.
Article ID: 123871 - Last Review: February 28, 2014 - Revision: 5.0
- Microsoft Visual C++ 2.0 Professional Edition, when used with:
- Microsoft Visual C++ 2.1, when used with:
- Microsoft Visual C++ 4.0 Standard Edition, when used with:
- Microsoft Visual C++ 5.0 Standard Edition, when used with:
- Microsoft Visual C++ 6.0 Service Pack 5, when used with:
- Microsoft Windows 2000 Professional Edition
- Microsoft Windows 2000 Server
- Microsoft Windows 2000 Advanced Server
- Microsoft Visual C++ .NET 2003 Standard Edition
- Microsoft Visual C++ .NET 2002 Standard Edition
- Microsoft Visual C++ 2005 Express Edition
|kbnosurvey kbarchive kbtshoot kbbug kbdebug kbide kbprb KB123871|