X-Git-Url: https://deadsoftware.ru/gitweb?a=blobdiff_plain;f=src%2Fengine%2Fe_log.pas;h=6fdd767af6d017c93fc6909b5dba7c0d141fee79;hb=67cddfbb3e682ca99f9b9a2e98e87332bd5c30be;hp=b2b9826f6669febb04b3f7e5dfc7b19bb5a24bad;hpb=b72e164f0fb64e3301ae8ca217449daf6a9d301d;p=d2df-editor.git diff --git a/src/engine/e_log.pas b/src/engine/e_log.pas index b2b9826..6fdd767 100644 --- a/src/engine/e_log.pas +++ b/src/engine/e_log.pas @@ -1,6 +1,6 @@ unit e_log; -{$MODE Delphi} +{$INCLUDE ../shared/a_modes.inc} interface @@ -14,6 +14,7 @@ type procedure e_InitLog(fFileName: String; fWriteMode: TWriteMode); procedure e_WriteLog(TextLine: String; RecordCategory: TRecordCategory; WriteTime: Boolean = True); +procedure e_WriteStackTrace (const msg: AnsiString); function DecodeIPV4(ip: LongWord): string; implementation @@ -59,6 +60,24 @@ begin Close(LogFile); end; +{$I-} +procedure e_WriteStackTrace (const msg: AnsiString); + var LogFile: TextFile; +begin + e_WriteLog(msg, TRecordCategory.MSG_FATALERROR); + + Assign(LogFile, FileName); + if FileExists(FileName) then + Append(LogFile) + else + Rewrite(LogFile); + + writeln(LogFile, '====================='); + DumpExceptionBackTrace(LogFile); + + Close(LogFile); +end; + procedure e_InitLog(fFileName: String; fWriteMode: TWriteMode); begin FileName := fFileName;