There's two options.
1) Build a debug version - easier to debug, but may not crash.
2) Change the release version to include debug information - may be more difficult to debug depending on where the crash is.
To make a debug version:
- Change the dropdown at the top of the Visual Studio window to Debug or DebugBots, whichever is appropriate for your server
- Build the solution
- Copy the files from the Build directory to where you run the server. Zone and World will have different names, and you will need the ZonePerl.pdb file as well
- Edit the batch file you start the server with to start WorldDebug instead of World
- Edit your eqemu_config.xml file. Uncomment the <exe> element in the <launcher> section and change the name to ZonePerl.exe
- Launch everything and debug again
To add debug information to your release version:
- Right-click the Zone project in the solution explorer and choose Properties
- Under C/C++ -> General, select Program Database (/Zi)
- Under Linker -> Debugging, change Generate Debug Info from No to Yes (/DEBUG)
- Click OK and build. You may need to force a rebuild if build doesn't generate the files
- Copy zone.exe and zone.pdb from the Build directory to where you run your server
- Launch everything and debug again