Troubleshooting EDuke32

From EDukeWiki
Revision as of 16:23, 20 January 2012 by Hendricks266 (talk | contribs)
Jump to navigation Jump to search

The first step in troubleshooting EDuke32 is testing the most recent unstable version, automatically generated every 20 minutes if changes have been made to the source code.

Basic Assistance

If you have a problem with EDuke32 or Mapster32, READ THE THREADS HERE FIRST to see if anyone else has experienced the same issue. Do not post a new thread if a thread for a similar problem already exists.

If you find no previous reports of your issue, you need to locate a file in your EDuke32 data called eduke32.log or mapster32.log depending on which program encountered the error. This file is overwritten every time the programs are run, so it is vital that the log file comes from an occasion when you encountered the problem and have not run the program again afterwards. For general help, post the log file in a new thread at the forum link above. For a problem with a particular TC or mod, it may be better to contact its author directly depending on the circumstances and the nature of the error.

Crashes

If you encounter an actual program crash, try running the debug builds available from synthesis. If you encounter the crash again, look for a file named eduke32_or_mapster32.crashlog and include it when following the directions in the Basic Assistance section.

If you cannot find this file, please proceed to the Debugging section.

Debugging

The most insidious types of bugs are those that occur randomly and with no apparent pattern. To help the developers tracing down crashes happening this way, you could try running a debug version of the executable under the GNU debugger until the crash happens. To do this, start it like this (mapster32.exe being an example):

gdb --args mapster32.exe [additional arguments...]

and enter the

r

(run) command at the GDB prompt. When the program crashes, you will be taken back to the prompt. Enter

bt

(backtrace) there. This will print out the location where the crash occurred and serve as a first diagnostic to the developers.