diff --git a/src/game/Doom2DF.dpr b/src/game/Doom2DF.dpr
index a66e792b6e38d9f44e537b7ac95d34254e571787..a47b72d1db22465bab5092fbcc08ba1400e3a82b 100644 (file)
--- a/src/game/Doom2DF.dpr
+++ b/src/game/Doom2DF.dpr
var
f: Integer;
noct: Boolean = false;
+ tfo: Text;
begin
for f := 1 to ParamCount do
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();