delphifastmm

Can not see unit names / methods in FastMM stack trace


I would like to have my stack trace contain unit names / methods / lines. Anything that can help really to make it more readable. I know this has worked in the past, but it has stopped working...

I have enabled

  {$DEFINE FullDebugMode}
  {$DEFINE RawStackTraces}
  {$DEFINE CheckHeapForCorruption}
  {$DEFINE EnableMemoryLeakReporting}
  {$DEFINE ClearLogFileOnStartup}
  {$DEFINE UseOutputDebugString}

I have 32+64bit dll in executable compiled directory.

I have enabled all debug options in project options (symbol references set to reference info) for both 32bit/64bit.

I am using the latest version.

I am listing FastMM as first unit in uses clause in project dpr file.

I use Delphi XE4.

I 100% checked the correct group of defines get compiled in by typing in gibberish to provoke compiletime error (i.e. so I am not doing something wrong with release/debug builds)

What more can I try?

enter image description here

....

@fpiette suggested I posted a test project. I will include that here...

Project1.dpr

program Project1;
uses
  FastMM4,
  Vcl.Forms,
  testmem in 'testmem.pas' {Form1};
{$R *.res}
begin
  Application.Initialize;
  Application.MainFormOnTaskbar := True;
  Application.CreateForm(TForm1, Form1);
  Application.Run;
end.

testmem.pas

unit testmem;
interface
uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.Buttons, Vcl.ExtCtrls, Vcl.StdCtrls;
type
  TForm1 = class(TForm)
    BitBtn1: TBitBtn;
    Panel1: TPanel;
    BitBtn2: TBitBtn;
    SpeedButton1: TSpeedButton;
    procedure FormCreate(Sender: TObject);
  private
  public
  end;
var
  Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
var
b: TButton;
begin
b := TButton.Create(nil);
b.Parent := Self;
b.Free;
b.Free;
end;

And this worked after I moved the precompiled dlls into the directory... Not sure why it would not work for my own project because I do the exact same... Just checked debug settings same in project options and that I in Delphi "target" same kind of build.

Solution Enabling debug info / detailed map file in project options - linking options.


Solution

  • Somehow your project is corrupted.

    Recreate the project from scratch (dpr and dproj, add all pas files and code you manually added to your dpr) and make sure the options are as described in How to get a stack trace from FastMM