Archived

This topic is now archived and is closed to further replies.

arunvb

How do game developer debug full screen games/apps

Recommended Posts

arunvb    147
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

Share this post


Link to post
Share on other sites
ZenDarva    122
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.

Share this post


Link to post
Share on other sites
jhavna    122
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]

Share this post


Link to post
Share on other sites
Pootle    122
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.

Share this post


Link to post
Share on other sites
Willm    138
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.

Share this post


Link to post
Share on other sites
Daishim    244
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?

Share this post


Link to post
Share on other sites
BrianL    530
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

Share this post


Link to post
Share on other sites
Guest Anonymous Poster   
Guest Anonymous Poster
On the main developers'' machines we use multi-monitor. For everybody else, it''s windowed.

Share this post


Link to post
Share on other sites
Stonicus    157
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.

Share this post


Link to post
Share on other sites
Mage2k    336
The first Game Programming Gems book has got a couple in-game stats/profiler classes that can be used to watch variables (among other things...) while in-game.

peace and (trance) out

Mage

Share this post


Link to post
Share on other sites
MichaelCarr    122
Perhaps a more interesting question you should of asked is "How do game developers debug the release version of their game?".

That is by far much more of a pain in the arse than you can imagine and you only realise what a bitch it is when you've had to do it.

For my part i've used some of these techniques for this type of problem;


Tracing the machine code.

Border colour changing to indicate what part of the code the game is in.

Two types of release - Release with in-game debugging tools and release without.

It can sometimes simply come down to looking very carefully at the source code one line at a time.



Of course it becomes a whole new kettle of fish when you are using libraries not written by your team (and you don't have the source code!!!) 8o)

Michael


[edited by - MIchaelCarr on August 14, 2003 10:00:29 AM]

Share this post


Link to post
Share on other sites
Guest Anonymous Poster   
Guest Anonymous Poster


When I was debugging games I would generally run in windowed mode. However, some issues come up that only are reproducable in fullscreen mode. These generally deal with card specific issues, but not always. So sometimes debugging in fullscreen is necessary. When I could reproduce the issue on my own machine I would simply run on a multimon machine. When the issue was only reproduceable on a testers machine with a specific configuration remote debugging was the only way to go.

Share this post


Link to post
Share on other sites
Cipher3D    340
For my games i usually initially program my games in windowed mode and debug in it (sorry for badd badd badd grammah), and when I'm done, just usually change a TRUE to a FALSE and viola! My game is fullscreen. I truly envy those multimon guys though .

[edited by - Cipher3D on August 14, 2003 9:11:00 PM]

Share this post


Link to post
Share on other sites
Stonicus    157
quote:
I could say something really witty about that last comment cipher but i fear it would be like throwing soap bubbles at a brick wall.


WUSS! =) Don''t say ''I''ve got a secret'' if ya got no intention of telling it. Lay it on the line! What ya got to lose? =)

Share this post


Link to post
Share on other sites
superpig    1825
quote:
Original post by arunvb
Does anyone sell/provide for free any in-game debugging tools ?


Depends on what you mean by ''debugging tools.'' Quake has an in-game console that is used for some parts of debugging - perhaps you could implement a similar system?

Oh, and Enginuity3 has a runtime profiler (which isn''t strictly debugging, but is still useful and an example of an ''in-game development tool'').

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

Share this post


Link to post
Share on other sites