How to use Debug Symbols

Moderators: GSH, Ultraken

Post Reply
User avatar
Ultraken
Patch Creator
Posts: 373
Joined: Fri Feb 18, 2011 6:06 pm
Contact:

How to use Debug Symbols

Post by Ultraken »

First, download and install Microsoft Visual C++ 2008 Express (or Microsoft Visual C++ 2010 Express). You don't need to install Microsoft SQL Server.

How to connect to the game using the debugger:
  • Run Battlezone in a window using the "/win" command-line option.
  • Run Microsoft Visual C++ 2008 (or 2010) Express.
  • Under the "Tools" menu, select "Attach to Process..."
  • Select the game executable from the process list and click "Attach"
  • Play the game normally until something goes wrong
When the game crashes:
  • Click "Break" on the error dialog
  • If VC++ asks for a .cpp file, just click "Cancel" to ignore it.
  • Click on the tab labeled "Modules" on the bottom left
  • Click in the modules window and type Ctrl-A (to select all)
  • Right-click and pick "Load Symbols From" > "Microsoft Symbol Servers"
  • Wait a while as it downloads debug symbols
Now to create a report:
  • Open a text document or start a forum post
  • Click on the tab labeled "Autos" on the bottom left
  • Click in the variables window and type Ctrl-A (to select all) and Ctrl-C (to copy it)
  • Paste it into the document or post; it's okay if the result is a bit of a mess
  • Click on the tab labeled "Call Stack" on the bottom right
  • Click in the call stack window and type Ctrl-A (to select all) and Ctrl-C (to copy it)
  • Paste it into the document or post
  • Describe what you were doing and include any steps to reproduce the problem
If you're running the new Testing build (bzint_d3d9.exe), you can also watch the output window for trace messages. The last messages the game outputs before a crash can sometimes be informative.

If you get a crash and weren't running the debugger at the time, it's not too late to help. Leave the game alone, run Visual C++ and attach to the (now crashed) game executable. You should still be able to get everything but trace messages out of it.

:geek:
Post Reply