Game Development Reference
In-Depth Information
from Microsoft that matches a single EXE or DLL, or all of the ones in your Win-
dows directory. Don ' t grab them all, though, if you can help it because you ' ll be
checking and downloading hundreds of files. Here
'
s how to grab an individual file:
C:\Program Files\Debugging Tools for Windows>symchk
c:\windows\system32\user32.dll /s
SRV*c:\windows\symbols*http://msdl.microsoft.com/download/symbols
SYMCHK: FAILED files = 0
SYMCHK: PASSED + IGNORED files = 1
This crazy utility doesn
'
t actually put the new USER32.DLL where you asked. On my
system, it actually stuck it in C:\WINDOWS\Symbols\user32.pdb\3DB6D4ED1, which
Visual Studio will never find. The reason it does this is to keep all the USER32.PDB
files from different operating systems or different service packs apart. If you installed
the Windows symbols from MSDN into the default location, you
ll want to copy it
back into C:\Windows\Symbols\dll, where Visual Studio will find it.
You can also set up your own symbol server and even include symbols for your own
applications. To find out how to do this, go up to http://msdn.microsoft.com and
search for
'
Microsoft Symbol Server.
Debugging Full-Screen Games
Back when Mike wrote the first edition of this topic, multiple monitor setups were
rare. Now I walk around my workplace, and that
s all I see. If you can afford it, a
multiple monitor setup is the easiest way to debug full-screen applications, and it is
the only way to develop console applications.
As much work as the Microsoft DirectX team has put into its efforts to help you debug
full-screen games, this still doesn
'
t work very well if you have a single monitor setup.
This has nothing to do with the folks at DirectX; it has more to do with Visual Studio
not overriding exclusive mode of the display. One manifestation of the problem occurs
when your game hits a breakpoint while it
'
'
s in full-screen mode. The game stops cold,
'
but the computer doesn
t switch focus to the debugger. Basically, the only thing you can
do at this point is to tap the F5 button to resume execution of the game.
If your game runs exclusively in full-screen mode, your only solution is a multimo-
nitor setup. Every programmer should have two monitors: one for displaying the
game screen and the other for displaying the debugger. DirectX will use the primary
display for full-screen mode by default. It is possible to write code that enumerates
the display devices so your game can choose the best display. This is a good idea
because you can
t count on players to set up their display properties in the way that
benefits your game. If your game runs in windowed mode as well as full-screen
mode, you have a few more options, even in a single monitor setup.
'
 
 
Search WWH ::




Custom Search