X-Git-Url: http://deadsoftware.ru/gitweb?a=blobdiff_plain;f=src%2Fgame%2FDoom2DF.dpr;h=a47b72d1db22465bab5092fbcc08ba1400e3a82b;hb=51bbf0eef2641d7766e22e188d6c349d9b836023;hp=a66e792b6e38d9f44e537b7ac95d34254e571787;hpb=6d6df4e3427cd01e03e172984c9d0d391ff38032;p=d2df-sdl.git diff --git a/src/game/Doom2DF.dpr b/src/game/Doom2DF.dpr index a66e792..a47b72d 100644 --- a/src/game/Doom2DF.dpr +++ b/src/game/Doom2DF.dpr @@ -117,6 +117,7 @@ uses var f: Integer; noct: Boolean = false; + tfo: Text; begin for f := 1 to ParamCount do begin @@ -134,10 +135,21 @@ begin Main(); e_WriteLog('Shutdown with no errors.', MSG_NOTIFY); except - on E: Exception do - e_WriteLog(Format(_lc[I_SYSTEM_ERROR_MSG], [E.Message]), MSG_FATALERROR); + on e: Exception do + begin + e_WriteStackTrace(e.message); + //e_WriteLog(Format(_lc[I_SYSTEM_ERROR_MSG], [E.Message]), MSG_FATALERROR); + AssignFile(tfo, GameDir+'/trace.log'); + {$I-} + Append(tfo); + if (IOResult <> 0) then Rewrite(tfo); + if (IOResult = 0) then begin writeln(tfo, '====================='); DumpExceptionBackTrace(tfo); CloseFile(tfo); end; + end else - e_WriteLog(Format(_lc[I_SYSTEM_ERROR_UNKNOWN], [NativeUInt(ExceptAddr())]), MSG_FATALERROR); + begin + //e_WriteLog(Format(_lc[I_SYSTEM_ERROR_UNKNOWN], [NativeUInt(ExceptAddr())]), MSG_FATALERROR); + e_WriteStackTrace('FATAL ERROR'); + end; end; end; e_DeinitLog();