Seems like some bug with file access.
As a temporary solution you can specify the heaptrc output at the
run-time, rather than using environment variable.
if you're using Lazarus projects you can do it in the following way:
* remove Linking option Use heaptrc unit (-gh). You'll use the unit manually.
* Open your projects source (Project-Source) add 'heaptrc' to your
uses section.
* Add SetHeapTraceOutput(outputfilename) call as the first line of the
program. After your application is closed, the specified file, will be
filled with debug data.
* do NOT SET envirnoment variable. Run the application.
It's also good to delete the file, otherwise information will be
appended to the file, and leakview might double-read the leaks
program test;
{$mode objfpc}{$H+}
uses
heaptrc, {1 heaptrc must be used}
{$IFDEF UNIX}{$IFDEF UseCThreads}
cthreads,
{$ENDIF}{$ENDIF}
Interfaces, // this includes the LCL widgetset
Forms
{ you can add units after this }, mainform, SysUtils, LResources;
{$IFDEF WINDOWS}{$R test.rc}{$ENDIF}
begin
// this is optional file cleaning, uncomment next line to delete the file
// if FileExists('test.txt') then DeleteFile('test.txt');
SetHeapTraceOutput('test.txt');
{$I test.lrs}
Application.Initialize;
Application.CreateForm(TForm1, Form1);
Application.Run;
end.
___
Lazarus mailing list
Lazarus@lazarus.freepascal.org
http://www.lazarus.freepascal.org/mailman/listinfo/lazarus