X-Git-Url: https://deadsoftware.ru/gitweb?a=blobdiff_plain;ds=sidebyside;f=src%2Fengine%2Fe_log.pas;h=6fdd767af6d017c93fc6909b5dba7c0d141fee79;hb=67cddfbb3e682ca99f9b9a2e98e87332bd5c30be;hp=2cabc36c176ec27ed5618a1d5d24fe0dab658273;hpb=3dc2fe6b3d29cd54425db8f590e922f2dce50e99;p=d2df-editor.git 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;