Battlezone Debugging
Or: you can help when the game crashes!
Expounding upon Sporkinator's walkthrough on using Visual C++...
If you don't already have Visual Studio installed, you will need to download and install it. Any of the free Express or Community Editions should work fine but the original choice was Microsoft Visual C++ 2008 Express.
How to connect to the game using the debugger:
- Run Battlezone in a window using the "/win" command-line option.
- Run Microsoft Visual Studio.
- 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.