Merge branch 'fpd1' into 'main'

Fix compilation of fpdebug\app\fpd

See merge request freepascal.org/lazarus/lazarus!49

(cherry picked from commit b03c9ccbb7)
This commit is contained in:
Martin 2021-11-28 10:49:11 +01:00
parent 0ecfcb3f2a
commit 98905fa395
3 changed files with 15 additions and 13 deletions

View File

@ -37,6 +37,9 @@ program fpd;
{$mode objfpc}{$H+} {$mode objfpc}{$H+}
{$APPTYPE CONSOLE} {$APPTYPE CONSOLE}
uses uses
{$ifdef unix}
cthreads,
{$endif}
SysUtils, SysUtils,
CustApp, CustApp,
{$ifdef windows} {$ifdef windows}
@ -82,12 +85,6 @@ begin
WriteLn('Copyright (c) 2006-2009 by Marc Weustink'); WriteLn('Copyright (c) 2006-2009 by Marc Weustink');
WriteLN('starting....'); WriteLN('starting....');
if ParamCount > 0
then begin
GController.ExecutableFilename := ParamStr(1);
WriteLN('Using file: ', GController.ExecutableFilename);
end;
{$ifdef windows} {$ifdef windows}
SetConsoleCtrlHandler(@CtrlCHandler, True); SetConsoleCtrlHandler(@CtrlCHandler, True);
{$endif} {$endif}
@ -97,4 +94,3 @@ begin
SetConsoleCtrlHandler(@CtrlCHandler, False); SetConsoleCtrlHandler(@CtrlCHandler, False);
{$endif} {$endif}
end. end.

View File

@ -50,8 +50,4 @@ var
implementation implementation
initialization
GController := TDbgController.Create;
finalization
GController.Free;
end. end.

View File

@ -70,7 +70,8 @@ implementation
uses uses
FPDCommand, FPDCommand,
FpDbgUtil, FpDbgUtil,
FPDGlobal; FPDGlobal,
FPDbgController;
type type
@ -119,7 +120,7 @@ end;
procedure TFPDLoop.GControllerDebugInfoLoaded(Sender: TObject); procedure TFPDLoop.GControllerDebugInfoLoaded(Sender: TObject);
begin begin
TFpDwarfInfo(GController.CurrentProcess.DbgInfo).MemManager := FMemManager;
end; end;
procedure TFPDLoop.ShowDisas; procedure TFPDLoop.ShowDisas;
@ -264,6 +265,14 @@ begin
FMemReader := TPDDbgMemReader.Create; FMemReader := TPDDbgMemReader.Create;
FMemConvertor := TFpDbgMemConvertorLittleEndian.Create; FMemConvertor := TFpDbgMemConvertorLittleEndian.Create;
FMemManager := TFpDbgMemManager.Create(FMemReader, FMemConvertor); FMemManager := TFpDbgMemManager.Create(FMemReader, FMemConvertor);
GController := TDbgController.Create(FMemManager);
if ParamCount > 0
then begin
GController.ExecutableFilename := ParamStr(1);
WriteLN('Using file: ', GController.ExecutableFilename);
end;
//TODO: Maybe DebugLogger.OnLog .... //TODO: Maybe DebugLogger.OnLog ....
//GController.OnLog:=@OnLog; //GController.OnLog:=@OnLog;
GController.OnHitBreakpointEvent:=@GControllerHitBreakpointEvent; GController.OnHitBreakpointEvent:=@GControllerHitBreakpointEvent;
@ -278,6 +287,7 @@ begin
FMemManager.Free; FMemManager.Free;
FMemReader.Free; FMemReader.Free;
FMemConvertor.Free; FMemConvertor.Free;
GController.Free;
inherited Destroy; inherited Destroy;
end; end;