X-Git-Url: https://deadsoftware.ru/gitweb?p=d2df-editor.git;a=blobdiff_plain;f=src%2Fengine%2Fe_log.pas;h=6fdd767af6d017c93fc6909b5dba7c0d141fee79;hp=2cabc36c176ec27ed5618a1d5d24fe0dab658273;hb=67cddfbb3e682ca99f9b9a2e98e87332bd5c30be;hpb=ff2c57a5e094add94022e1198f5a9e36b7a8e78a diff --git a/src/engine/e_log.pas b/src/engine/e_log.pas index 2cabc36..6fdd767 100644 --- a/src/engine/e_log.pas +++ b/src/engine/e_log.pas @@ -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;