¶Debugging a full-screen application
If you've ever tried to debug an application that goes full-screen, you've probably discovered the main problem with doing so: the application window is marked as "topmost," meaning that it always appears on top of other windows, even if it becomes inactive. This means that when the application crashes, you can't get to the debugger, or for that matter, almost any other window.
Sure, you could get a second monitor, or do a remote debug, but that's inconvenient -- especially if you didn't get to choose the machine on which the program crashed.
There's a simpler way to solve the problem. The application you're trying to debug is stopped, so you can't make its window non-topmost, but what you can do is make the debugger window topmost too. Two windows that are marked as such will sort normally relative to each other, so once the debugger is marked in this manner, it will pop up in front of the debuggee without problem. How you mark the debugger window as topmost is up to you, but programmatically, once you find the right HWND, a call to SetWindowPos() will do the trick.
Having a Command Prompt open at all times is a useful trick too, because its fullscreen mode (Alt+Enter) trumps any other window, topmost or not.