It is important when you debug windowed programs that the debugger not interfere with the window of the program being debugged. Any interference of the debugger with your program’s window will trigger a message to your program, which could cause procedures to be called up that will change the execution of the program. For instance, if you try to debug the procedure that is called up when a WM_PAINT message is received, the fact that the debugger will pop up and hide a portion of your program’s window, will trigger the function you want to debug to be called up again. If you have a breakpoint in it, there is no way to escape an endless cascade of the same message. This can be stopped either by erasing the breakpoint or by moving the window so that the debugger’s window does not touch the window of your program.