How do game developer debug full screen games/apps

Started by
18 comments, last by arunvb 20 years, 8 months ago
What is the typical method of debugging by the professional game developers in the game industry ? I guess, if it is windowed mode / game, they can use the built-in debugger of the IDE they are using. How do they go about for full screen modes ? Does anyone have information on this ? Thanks Arun
Advertisement
I''m certainly not a professional game developer, but I do have to spend a fair amount of time debugging my game. Heh. Generally I create a logger class, and anything I need to know about, I post a message to the log, and examine it when I''m done. I use VB, so I generally test run in the IDE, and can get a good clue as to where things went wrong by where it dumps me back into the IDE at.

Also, again using VB, you can sometimes break out of the fullscreen mode, and step through the program line by line, skipping over any lines that would do grapical stuff (And cause automation errors!) If you program in alt+tab recovery, you can about 70% of the time get the program running again normally afterwards.
From what i have heard, they don't. their debug app doesn;t run fullscreen. And if they HAVE to debug it fullscreen (something to avoid), they use dual monitor display.. one for the app, the other for the debugger.

-----------------------
"Without a sense of humour we couldn't react to a lot of things"

[edited by - jhavna on August 13, 2003 11:05:25 AM]
-----------------------"Without a sense of humour we couldn't react to a lot of things"
It''s a while since I''ve done PC development, but Microsoft''s IDE includes a remote debugger app that allows you to run your program on a second (test) PC over a network, while you can monitor it in the debugger on your main (dev) PC. Also handy in case you manage to crash the entire system, in which case you haven''t lost your development environment or any unsaved files..

Working on stand-alone systems, log files are particularly useful, as ZanDarva mentioned. Also, poking the video hardware to change the screen border colour (if hw allows) can help identify what area of code was last reached before a crash. Inserting beeps can also confirm if a particular part of the code has been reached. An iterative process of moving the beeps and flashes, then re-running can track down the crash point. A little tedious, maybe, but unavoidable at times.
The guys here run debug builds in a window, or run the debugger on one machine while the game runs on another (i.e. for consoles).

Superpig
- saving pigs from untimely fates, and when he''s not doing that, runs The Binary Refinery.
Enginuity1 | Enginuity2 | Enginuity3 | Enginuity4

Richard "Superpig" Fine - saving pigs from untimely fates - Microsoft DirectX MVP 2006/2007/2008/2009
"Shaders are not meant to do everything. Of course you can try to use it for everything, but it's like playing football using cabbage." - MickeyMouse

Generally you give your app the ability to run in windowed mode or fullscreen, and you do the debugging in windowed mode. If your lucky though your boss gives you a second machine and you do the debugging remotely which is more convenient because you have a monitor for the debugger and a monitor for the game.
How do you go about using Microsoft''s remote debugger? Is is something that is included in Visual Studio or must it be obtained seperately?

I know only that which I know, but I do not know what I know.
Look up "remote debugging" on MSDN.

The documentation may not be wonderful, so you might also want to try this info:

http://www.google.com/search?hl=en&ie=UTF-8&oe=UTF-8&q=site%3Amicrosoft.com+remote+debugging
On the main developers'' machines we use multi-monitor. For everybody else, it''s windowed.
There is nothing magic about being in full-screen mode. So I just don''t put it in full-screen mode when i''m debugging code. Now if I want to see how my models look, then I switch it over to full-screen.

This topic is closed to new replies.

Advertisement