|
- {$ifdef __HEAD}
- TProfilePlainTextMMap = class(TProfileDataFile)
- private
- fDF: TFastFileStream;
- public
- constructor Create(const aFileName: string);
- destructor Destroy; override;
- procedure WriteEnter(Thread: TThreadID; When: Int64; Func, Src: String; Line: Integer); override;
- procedure WriteLeave(Thread: TThreadID; When: Int64); override;
- end;
-
- {$ELSE}
-
- { TProfilePlainTextMMap }
-
- constructor TProfilePlainTextMMap.Create(const aFileName: string);
- begin
- inherited;
- fDF:= TFastFileStream.Create(aFileName, fmCreate, fmShareExclusive);
- end;
-
- destructor TProfilePlainTextMMap.Destroy;
- begin
- FreeAndNil(fDF);
- inherited;
- end;
-
- procedure TProfilePlainTextMMap.WriteEnter(Thread: TThreadID; When: Int64; Func, Src: String; Line: Integer);
- var
- l: string;
- begin
- l:= hexStr(When, 16)+ ';'+hexStr(Thread, 4)+ ';'+Src+ ';'+IntToStr(Line)+';'+Func + #13#10;
- fDF.Write(l[1], Length(l));
- end;
-
- procedure TProfilePlainTextMMap.WriteLeave(Thread: TThreadID; When: Int64);
- var
- l: string;
- begin
- l:= hexStr(When, 16)+ ';'+hexStr(Thread, 4)+ ';'#13#10;
- fDF.Write(l[1], Length(l));
- end;
-
- {$ENDIF}
-
|