ezQuake Manual: Debugging ezQuake

If you've found out a way to crash ezQuake, you should note down the way how to reproduce the crash and report that to the developers via bugreport tracker.

However, sometimes the developers are not able to reproduce the crash, because it might be dependant on various settings - user's configuration, installed add-ons, incoming network data, hardware equipment, operating system, installed drivers, ...

In such case if you still want to help us find out the source of the bug causing a crash, use the following procedure.

  1. Download and Install Windows Debugging Tools (Download approx. 17 MB, install size about 20 MB)
  2. Download ezQuake build with debug symbols/database included (ezquake-gl.exe file with matching ezquake-gl.pdb file) - the ezquake-gl.pdb file is typically distributed in separated zip archive named ezquake_debug_...-version-.zip; make sure you download proper version, it must match the version of the ezquake-gl.exe
  3. Put both ezquake-gl.exe and ezquake-gl.pdb into your Quake dir
  4. Run WinDbg, select Open Executable and select ezquake-gl.exe in your Quake dir, select Open
  5. Loading will commence and typically will pause on "ntdll!DbgBreakPoint:" message, ignore the "ERROR: Symbol file could not be found." error.
  6. Choose Debug - Go
  7. Switch to ezQuake and reproduce the crash (you may wish to do it in windowed mode to be able to fully control the WinDbg after the crash happens)
  8. Toggle on the "Calls" window and the "Processes and Threads" window via the View menu
  9. In the "Processes and Threads" window expand the first (and only) item (ezQuake process) so that all threads appear (typically about 3-5 threads, on client startup only 1 thread), double click the first thread (the first sub-item = the item on the second line, typically numbered 000)
  10. Enable all the options in the "Calls" window by selecting all the switch buttons on the top
  11. Press "More" button multiple times to unwind the stack as much as possible
  12. Copy the content of the "Calls" window into the clipboard (use the menu under the additional icon near the close [x] button on the upper right side of the window)
  13. Send the content of the clipboard to the developers (you may use pastebin.com for example)

This way developers are able to see in which specific place in the code the crash exactly happened, which significantly increases the chances to discover the source of the bug.

Your help in tracing down the bugs is highly appreciated!

Last update: 25.09.2009 07:15 UTC
ezQDocs

SourceForge.net Logo