mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-04-10 04:48:36 +02:00
Debugger: refactor
git-svn-id: trunk@44466 -
This commit is contained in:
parent
9246646d0f
commit
245d81b151
@ -572,6 +572,7 @@ type
|
||||
);
|
||||
|
||||
TWatchBase = class;
|
||||
TWatchesMonitor = class;
|
||||
|
||||
{ TWatchValueBase }
|
||||
|
||||
@ -658,15 +659,17 @@ type
|
||||
|
||||
TWatchesSupplier = class(TDebuggerDataSupplier)
|
||||
private
|
||||
FCurrentWatches: TWatches;
|
||||
function GetCurrentWatches: TWatches;
|
||||
function GetMonitor: TWatchesMonitor;
|
||||
procedure SetMonitor(AValue: TWatchesMonitor);
|
||||
protected
|
||||
procedure DoNewMonitor; override;
|
||||
procedure DoStateChange(const AOldState: TDBGState); override; // workaround for state changes during TWatchValue.GetValue
|
||||
procedure InternalRequestData(AWatchValue: TWatchValueBase); virtual;
|
||||
public
|
||||
constructor Create(const ADebugger: TDebuggerIntf);
|
||||
procedure RequestData(AWatchValue: TWatchValueBase);
|
||||
property CurrentWatches: TWatches read FCurrentWatches write FCurrentWatches;
|
||||
property CurrentWatches: TWatches read GetCurrentWatches;
|
||||
property Monitor: TWatchesMonitor read GetMonitor write SetMonitor;
|
||||
end;
|
||||
|
||||
{ TWatchesMonitor }
|
||||
@ -674,12 +677,15 @@ type
|
||||
TWatchesMonitor = class(TDebuggerDataMonitor)
|
||||
private
|
||||
FWatches: TWatches;
|
||||
function GetSupplier: TWatchesSupplier;
|
||||
procedure SetSupplier(AValue: TWatchesSupplier);
|
||||
protected
|
||||
function CreateWatches: TWatches; virtual;
|
||||
public
|
||||
constructor Create;
|
||||
destructor Destroy; override;
|
||||
property Watches: TWatches read FWatches;
|
||||
property Supplier: TWatchesSupplier read GetSupplier write SetSupplier;
|
||||
end;
|
||||
|
||||
{%endregion ^^^^^ Watches ^^^^^ }
|
||||
@ -693,6 +699,7 @@ type
|
||||
******************************************************************************}
|
||||
|
||||
// TODO: a more watch-like value object
|
||||
TLocalsMonitor = class;
|
||||
|
||||
{ TLocalsValue }
|
||||
|
||||
@ -743,12 +750,14 @@ type
|
||||
|
||||
TLocalsSupplier = class(TDebuggerDataSupplier)
|
||||
private
|
||||
FCurrentLocalsList: TLocalsList;
|
||||
function GetCurrentLocalsList: TLocalsList;
|
||||
function GetMonitor: TLocalsMonitor;
|
||||
procedure SetMonitor(AValue: TLocalsMonitor);
|
||||
protected
|
||||
procedure DoNewMonitor; override;
|
||||
public
|
||||
procedure RequestData(ALocals: TLocals); virtual;
|
||||
property CurrentLocalsList: TLocalsList read FCurrentLocalsList write FCurrentLocalsList;
|
||||
property CurrentLocalsList: TLocalsList read GetCurrentLocalsList;
|
||||
property Monitor: TLocalsMonitor read GetMonitor write SetMonitor;
|
||||
end;
|
||||
|
||||
{ TLocalsMonitor }
|
||||
@ -756,12 +765,15 @@ type
|
||||
TLocalsMonitor = class(TDebuggerDataMonitor)
|
||||
private
|
||||
FLocalsList: TLocalsList;
|
||||
function GetSupplier: TLocalsSupplier;
|
||||
procedure SetSupplier(AValue: TLocalsSupplier);
|
||||
protected
|
||||
function CreateLocalsList: TLocalsList; virtual;
|
||||
public
|
||||
constructor Create;
|
||||
destructor Destroy; override;
|
||||
property LocalsList: TLocalsList read FLocalsList;
|
||||
property Supplier: TLocalsSupplier read GetSupplier write SetSupplier;
|
||||
end;
|
||||
|
||||
{%endregion ^^^^^ Locals ^^^^^ }
|
||||
@ -822,6 +834,7 @@ type
|
||||
|
||||
TRegisterDisplayFormat = (rdDefault, rdHex, rdBinary, rdOctal, rdDecimal, rdRaw);
|
||||
TRegisterDisplayFormats = set of TRegisterDisplayFormat;
|
||||
TRegistersMonitor = class;
|
||||
|
||||
{ TRegisterDisplayValue }
|
||||
|
||||
@ -914,12 +927,14 @@ type
|
||||
|
||||
TRegisterSupplier = class(TDebuggerDataSupplier)
|
||||
private
|
||||
FCurrentRegistersList: TRegistersList;
|
||||
function GetCurrentRegistersList: TRegistersList;
|
||||
function GetMonitor: TRegistersMonitor;
|
||||
procedure SetMonitor(AValue: TRegistersMonitor);
|
||||
protected
|
||||
procedure DoNewMonitor; override;
|
||||
public
|
||||
procedure RequestData(ARegisters: TRegisters); virtual;
|
||||
property CurrentRegistersList: TRegistersList read FCurrentRegistersList write FCurrentRegistersList;
|
||||
property CurrentRegistersList: TRegistersList read GetCurrentRegistersList;
|
||||
property Monitor: TRegistersMonitor read GetMonitor write SetMonitor;
|
||||
end;
|
||||
|
||||
{ TRegistersMonitor }
|
||||
@ -927,12 +942,15 @@ type
|
||||
TRegistersMonitor = class(TDebuggerDataMonitor)
|
||||
private
|
||||
FRegistersList: TRegistersList;
|
||||
function GetSupplier: TRegisterSupplier;
|
||||
procedure SetSupplier(AValue: TRegisterSupplier);
|
||||
protected
|
||||
function CreateRegistersList: TRegistersList; virtual;
|
||||
public
|
||||
constructor Create;
|
||||
destructor Destroy; override;
|
||||
property RegistersList: TRegistersList read FRegistersList;
|
||||
property Supplier: TRegisterSupplier read GetSupplier write SetSupplier;
|
||||
end;
|
||||
|
||||
{%endregion ^^^^^ Register ^^^^^ }
|
||||
@ -950,7 +968,7 @@ type
|
||||
* TCallStackEntry needs to stay a readonly object so its data can be shared *
|
||||
******************************************************************************}
|
||||
|
||||
{ TCallStackEntry }
|
||||
TCallStackMonitor = class;
|
||||
|
||||
{ TCallStackEntryBase }
|
||||
|
||||
@ -1052,9 +1070,10 @@ type
|
||||
|
||||
TCallStackSupplier = class(TDebuggerDataSupplier)
|
||||
private
|
||||
FCurrentCallStackList: TCallStackList;
|
||||
function GetCurrentCallStackList: TCallStackList;
|
||||
function GetMonitor: TCallStackMonitor;
|
||||
procedure SetMonitor(AValue: TCallStackMonitor);
|
||||
protected
|
||||
procedure DoNewMonitor; override;
|
||||
//procedure CurrentChanged;
|
||||
procedure Changed;
|
||||
public
|
||||
@ -1063,7 +1082,8 @@ type
|
||||
procedure RequestCurrent(ACallstack: TCallStackBase); virtual;
|
||||
procedure RequestEntries(ACallstack: TCallStackBase); virtual;
|
||||
procedure UpdateCurrentIndex; virtual;
|
||||
property CurrentCallStackList: TCallStackList read FCurrentCallStackList write FCurrentCallStackList;
|
||||
property CurrentCallStackList: TCallStackList read GetCurrentCallStackList;
|
||||
property Monitor: TCallStackMonitor read GetMonitor write SetMonitor;
|
||||
end;
|
||||
|
||||
{ TCallStackMonitor }
|
||||
@ -1071,12 +1091,15 @@ type
|
||||
TCallStackMonitor = class(TDebuggerDataMonitor)
|
||||
private
|
||||
FCallStackList: TCallStackList;
|
||||
function GetSupplier: TCallStackSupplier;
|
||||
procedure SetSupplier(AValue: TCallStackSupplier);
|
||||
protected
|
||||
function CreateCallStackList: TCallStackList; virtual;
|
||||
public
|
||||
constructor Create;
|
||||
destructor Destroy; override;
|
||||
property CallStackList: TCallStackList read FCallStackList;
|
||||
property Supplier: TCallStackSupplier read GetSupplier write SetSupplier;
|
||||
end;
|
||||
|
||||
{%endregion ^^^^^ Callstack ^^^^^ }
|
||||
@ -1252,6 +1275,8 @@ type
|
||||
******************************************************************************
|
||||
******************************************************************************}
|
||||
|
||||
TThreadsMonitor = class;
|
||||
|
||||
{ TThreadsBase }
|
||||
|
||||
TThreads = class(TObject)
|
||||
@ -1282,9 +1307,10 @@ type
|
||||
|
||||
TThreadsSupplier = class(TDebuggerDataSupplier)
|
||||
private
|
||||
FCurrentThreads: TThreads;
|
||||
function GetCurrentThreads: TThreads;
|
||||
function GetMonitor: TThreadsMonitor;
|
||||
procedure SetMonitor(AValue: TThreadsMonitor);
|
||||
protected
|
||||
procedure DoNewMonitor; override;
|
||||
procedure DoStateChange(const AOldState: TDBGState); override;
|
||||
procedure DoStateLeavePauseClean; override;
|
||||
procedure DoCleanAfterPause; virtual;
|
||||
@ -1292,7 +1318,8 @@ type
|
||||
procedure RequestMasterData; virtual;
|
||||
procedure ChangeCurrentThread({%H-}ANewId: Integer); virtual;
|
||||
procedure Changed; // TODO: needed because entries can not notify the monitor
|
||||
property CurrentThreads: TThreads read FCurrentThreads write FCurrentThreads;
|
||||
property CurrentThreads: TThreads read GetCurrentThreads;
|
||||
property Monitor: TThreadsMonitor read GetMonitor write SetMonitor;
|
||||
end;
|
||||
|
||||
{ TThreadsMonitor }
|
||||
@ -1300,12 +1327,15 @@ type
|
||||
TThreadsMonitor = class(TDebuggerDataMonitor)
|
||||
private
|
||||
FThreads: TThreads;
|
||||
function GetSupplier: TThreadsSupplier;
|
||||
procedure SetSupplier(AValue: TThreadsSupplier);
|
||||
protected
|
||||
function CreateThreads: TThreads; virtual;
|
||||
public
|
||||
constructor Create;
|
||||
destructor Destroy; override;
|
||||
property Threads: TThreads read FThreads;
|
||||
property Supplier: TThreadsSupplier read GetSupplier write SetSupplier;
|
||||
end;
|
||||
|
||||
{%endregion ^^^^^ Threads ^^^^^ }
|
||||
@ -1850,6 +1880,16 @@ end;
|
||||
|
||||
{ TThreadsMonitor }
|
||||
|
||||
function TThreadsMonitor.GetSupplier: TThreadsSupplier;
|
||||
begin
|
||||
Result := TThreadsSupplier(inherited Supplier);
|
||||
end;
|
||||
|
||||
procedure TThreadsMonitor.SetSupplier(AValue: TThreadsSupplier);
|
||||
begin
|
||||
inherited Supplier := AValue;
|
||||
end;
|
||||
|
||||
function TThreadsMonitor.CreateThreads: TThreads;
|
||||
begin
|
||||
Result := TThreads.Create;
|
||||
@ -1869,6 +1909,16 @@ end;
|
||||
|
||||
{ TRegistersMonitor }
|
||||
|
||||
function TRegistersMonitor.GetSupplier: TRegisterSupplier;
|
||||
begin
|
||||
Result := TRegisterSupplier(inherited Supplier);
|
||||
end;
|
||||
|
||||
procedure TRegistersMonitor.SetSupplier(AValue: TRegisterSupplier);
|
||||
begin
|
||||
inherited Supplier := AValue;
|
||||
end;
|
||||
|
||||
function TRegistersMonitor.CreateRegistersList: TRegistersList;
|
||||
begin
|
||||
Result := TRegistersList.Create;
|
||||
@ -2029,10 +2079,21 @@ end;
|
||||
|
||||
{ TRegisterSupplier }
|
||||
|
||||
procedure TRegisterSupplier.DoNewMonitor;
|
||||
function TRegisterSupplier.GetCurrentRegistersList: TRegistersList;
|
||||
begin
|
||||
inherited DoNewMonitor;
|
||||
FCurrentRegistersList := nil;
|
||||
Result := nil;
|
||||
if Monitor <> nil then
|
||||
Result := Monitor.RegistersList;
|
||||
end;
|
||||
|
||||
function TRegisterSupplier.GetMonitor: TRegistersMonitor;
|
||||
begin
|
||||
Result := TRegistersMonitor(inherited Monitor);
|
||||
end;
|
||||
|
||||
procedure TRegisterSupplier.SetMonitor(AValue: TRegistersMonitor);
|
||||
begin
|
||||
inherited Monitor := AValue;
|
||||
end;
|
||||
|
||||
procedure TRegisterSupplier.RequestData(ARegisters: TRegisters);
|
||||
@ -3157,10 +3218,21 @@ begin
|
||||
else AWatchValue.SetValidity(ddsInvalid);
|
||||
end;
|
||||
|
||||
procedure TWatchesSupplier.DoNewMonitor;
|
||||
function TWatchesSupplier.GetCurrentWatches: TWatches;
|
||||
begin
|
||||
inherited DoNewMonitor;
|
||||
FCurrentWatches := nil;
|
||||
Result := Nil;
|
||||
if Monitor <> nil then
|
||||
Result := Monitor.Watches;
|
||||
end;
|
||||
|
||||
function TWatchesSupplier.GetMonitor: TWatchesMonitor;
|
||||
begin
|
||||
Result := TWatchesMonitor(inherited Monitor);
|
||||
end;
|
||||
|
||||
procedure TWatchesSupplier.SetMonitor(AValue: TWatchesMonitor);
|
||||
begin
|
||||
inherited Monitor := AValue;
|
||||
end;
|
||||
|
||||
procedure TWatchesSupplier.DoStateChange(const AOldState: TDBGState);
|
||||
@ -3184,6 +3256,16 @@ end;
|
||||
|
||||
{ TWatchesMonitor }
|
||||
|
||||
function TWatchesMonitor.GetSupplier: TWatchesSupplier;
|
||||
begin
|
||||
Result := TWatchesSupplier(inherited Supplier);
|
||||
end;
|
||||
|
||||
procedure TWatchesMonitor.SetSupplier(AValue: TWatchesSupplier);
|
||||
begin
|
||||
inherited Supplier := AValue;
|
||||
end;
|
||||
|
||||
function TWatchesMonitor.CreateWatches: TWatches;
|
||||
begin
|
||||
Result := TWatches.Create;
|
||||
@ -3203,10 +3285,21 @@ end;
|
||||
|
||||
{ TLocalsSupplier }
|
||||
|
||||
procedure TLocalsSupplier.DoNewMonitor;
|
||||
function TLocalsSupplier.GetCurrentLocalsList: TLocalsList;
|
||||
begin
|
||||
inherited DoNewMonitor;
|
||||
FCurrentLocalsList := nil;
|
||||
Result := nil;
|
||||
if Monitor <> nil then
|
||||
Result := Monitor.LocalsList;
|
||||
end;
|
||||
|
||||
function TLocalsSupplier.GetMonitor: TLocalsMonitor;
|
||||
begin
|
||||
Result := TLocalsMonitor(inherited Monitor);
|
||||
end;
|
||||
|
||||
procedure TLocalsSupplier.SetMonitor(AValue: TLocalsMonitor);
|
||||
begin
|
||||
inherited Monitor := AValue;
|
||||
end;
|
||||
|
||||
procedure TLocalsSupplier.RequestData(ALocals: TLocals);
|
||||
@ -3216,6 +3309,16 @@ end;
|
||||
|
||||
{ TLocalsMonitor }
|
||||
|
||||
function TLocalsMonitor.GetSupplier: TLocalsSupplier;
|
||||
begin
|
||||
Result := TLocalsSupplier(inherited Supplier);
|
||||
end;
|
||||
|
||||
procedure TLocalsMonitor.SetSupplier(AValue: TLocalsSupplier);
|
||||
begin
|
||||
inherited Supplier := AValue;
|
||||
end;
|
||||
|
||||
function TLocalsMonitor.CreateLocalsList: TLocalsList;
|
||||
begin
|
||||
Result := TLocalsList.Create;
|
||||
@ -3317,10 +3420,21 @@ begin
|
||||
Monitor.DoModified;
|
||||
end;
|
||||
|
||||
procedure TCallStackSupplier.DoNewMonitor;
|
||||
function TCallStackSupplier.GetCurrentCallStackList: TCallStackList;
|
||||
begin
|
||||
inherited DoNewMonitor;
|
||||
FCurrentCallStackList := nil;
|
||||
Result := nil;
|
||||
if Monitor <> nil then
|
||||
Result := Monitor.CallStackList;
|
||||
end;
|
||||
|
||||
function TCallStackSupplier.GetMonitor: TCallStackMonitor;
|
||||
begin
|
||||
Result := TCallStackMonitor(inherited Monitor);
|
||||
end;
|
||||
|
||||
procedure TCallStackSupplier.SetMonitor(AValue: TCallStackMonitor);
|
||||
begin
|
||||
inherited Monitor := AValue;
|
||||
end;
|
||||
|
||||
procedure TCallStackSupplier.RequestCount(ACallstack: TCallStackBase);
|
||||
@ -3377,6 +3491,16 @@ end;
|
||||
|
||||
{ TCallStackMonitor }
|
||||
|
||||
function TCallStackMonitor.GetSupplier: TCallStackSupplier;
|
||||
begin
|
||||
Result := TCallStackSupplier(inherited Supplier);
|
||||
end;
|
||||
|
||||
procedure TCallStackMonitor.SetSupplier(AValue: TCallStackSupplier);
|
||||
begin
|
||||
inherited Supplier := AValue;
|
||||
end;
|
||||
|
||||
function TCallStackMonitor.CreateCallStackList: TCallStackList;
|
||||
begin
|
||||
Result := TCallStackList.Create;
|
||||
@ -3402,9 +3526,21 @@ begin
|
||||
then Monitor.DoModified;
|
||||
end;
|
||||
|
||||
procedure TThreadsSupplier.DoNewMonitor;
|
||||
function TThreadsSupplier.GetCurrentThreads: TThreads;
|
||||
begin
|
||||
FCurrentThreads := nil;
|
||||
Result := nil;
|
||||
if Monitor <> nil then
|
||||
Result := Monitor.Threads;
|
||||
end;
|
||||
|
||||
function TThreadsSupplier.GetMonitor: TThreadsMonitor;
|
||||
begin
|
||||
Result := TThreadsMonitor(inherited Monitor);
|
||||
end;
|
||||
|
||||
procedure TThreadsSupplier.SetMonitor(AValue: TThreadsMonitor);
|
||||
begin
|
||||
inherited Monitor := AValue;
|
||||
end;
|
||||
|
||||
procedure TThreadsSupplier.ChangeCurrentThread(ANewId: Integer);
|
||||
@ -3431,8 +3567,8 @@ end;
|
||||
|
||||
procedure TThreadsSupplier.DoCleanAfterPause;
|
||||
begin
|
||||
if FCurrentThreads <> nil then
|
||||
FCurrentThreads.Clear;
|
||||
if CurrentThreads <> nil then
|
||||
CurrentThreads.Clear;
|
||||
if Monitor <> nil then
|
||||
Monitor.DoModified;
|
||||
end;
|
||||
|
@ -790,13 +790,10 @@ type
|
||||
FNotificationList: TWatchesNotificationList;
|
||||
function GetCurrentWatches: TCurrentWatches;
|
||||
function GetSnapshot(AnID: Pointer): TIdeWatches;
|
||||
function GetSupplier: TWatchesSupplier;
|
||||
procedure SetSupplier(const AValue: TWatchesSupplier);
|
||||
protected
|
||||
procedure DoStateEnterPause; override;
|
||||
procedure DoStateLeavePause; override;
|
||||
procedure DoStateLeavePauseClean; override;
|
||||
procedure DoNewSupplier; override;
|
||||
procedure DoModified; override;
|
||||
//procedure NotifyChange
|
||||
procedure NotifyAdd(const AWatches: TCurrentWatches; const AWatch: TCurrentWatch);
|
||||
@ -814,7 +811,6 @@ type
|
||||
procedure RemoveSnapshot(AnID: Pointer);
|
||||
property CurrentWatches: TCurrentWatches read GetCurrentWatches;// FCurrentWatches;
|
||||
property Snapshots[AnID: Pointer]: TIdeWatches read GetSnapshot;
|
||||
property Supplier: TWatchesSupplier read GetSupplier write SetSupplier;
|
||||
public
|
||||
procedure Clear;
|
||||
procedure LoadFromXMLConfig(const AConfig: TXMLConfig; const APath: string);
|
||||
@ -916,8 +912,6 @@ type
|
||||
FNotificationList: TDebuggerChangeNotificationList;
|
||||
function GetCurrentLocalsList: TCurrentLocalsList;
|
||||
function GetSnapshot(AnID: Pointer): TIDELocalsList;
|
||||
function GetSupplier: TLocalsSupplier;
|
||||
procedure SetSupplier(const AValue: TLocalsSupplier);
|
||||
protected
|
||||
procedure DoStateEnterPause; override;
|
||||
procedure DoStateLeavePause; override;
|
||||
@ -937,7 +931,6 @@ type
|
||||
procedure RemoveSnapshot(AnID: Pointer);
|
||||
property CurrentLocalsList: TCurrentLocalsList read GetCurrentLocalsList;
|
||||
property Snapshots[AnID: Pointer]: TIDELocalsList read GetSnapshot;
|
||||
property Supplier: TLocalsSupplier read GetSupplier write SetSupplier;
|
||||
end;
|
||||
|
||||
{%endregion ^^^^^ Locals ^^^^^ }
|
||||
@ -1062,8 +1055,6 @@ type
|
||||
FNotificationList: TDebuggerChangeNotificationList;
|
||||
FFlags: set of (rmNeedNotifyChange);
|
||||
function GetCurrentRegistersList: TCurrentIDERegistersList;
|
||||
function GetSupplier: TRegisterSupplier;
|
||||
procedure SetSupplier(const AValue: TRegisterSupplier);
|
||||
protected
|
||||
procedure DoStateEnterPause; override;
|
||||
//procedure DoStateLeavePause; override;
|
||||
@ -1082,7 +1073,6 @@ type
|
||||
procedure RemoveNotification(const ANotification: TRegistersNotification);
|
||||
property CurrentRegistersList: TCurrentIDERegistersList read GetCurrentRegistersList;
|
||||
//property Snapshots[AnID: Pointer]: TIDERegistersList read GetSnapshot;
|
||||
property Supplier: TRegisterSupplier read GetSupplier write SetSupplier;
|
||||
end;
|
||||
|
||||
{%endregion ^^^^^ Register ^^^^^ }
|
||||
@ -1331,8 +1321,6 @@ type
|
||||
procedure CallStackClear(Sender: TObject);
|
||||
function GetCurrentCallStackList: TCurrentCallStackList;
|
||||
function GetSnapshot(AnID: Pointer): TIdeCallStackList;
|
||||
function GetSupplier: TCallStackSupplier;
|
||||
procedure SetSupplier(const AValue: TCallStackSupplier);
|
||||
protected
|
||||
procedure DoStateEnterPause; override;
|
||||
procedure DoStateLeavePause; override;
|
||||
@ -1357,7 +1345,6 @@ type
|
||||
procedure NotifyCurrent;
|
||||
property CurrentCallStackList: TCurrentCallStackList read GetCurrentCallStackList;
|
||||
property Snapshots[AnID: Pointer]: TIdeCallStackList read GetSnapshot;
|
||||
property Supplier: TCallStackSupplier read GetSupplier write SetSupplier;
|
||||
property UnitInfoProvider: TDebuggerUnitInfoProvider // Provided by DebugBoss, to map files to packages or project
|
||||
read FUnitInfoProvider write FUnitInfoProvider;
|
||||
end;
|
||||
@ -1532,8 +1519,6 @@ type
|
||||
FNotificationList: TDebuggerChangeNotificationList;
|
||||
function GetCurrentThreads: TCurrentThreads;
|
||||
function GetSnapshot(AnID: Pointer): TIdeThreads;
|
||||
function GetSupplier: TThreadsSupplier;
|
||||
procedure SetSupplier(const AValue: TThreadsSupplier);
|
||||
protected
|
||||
procedure DoModified; override;
|
||||
procedure DoStateEnterPause; override;
|
||||
@ -1556,7 +1541,6 @@ type
|
||||
procedure CurrentChanged;
|
||||
property CurrentThreads: TCurrentThreads read GetCurrentThreads;
|
||||
property Snapshots[AnID: Pointer]: TIdeThreads read GetSnapshot;
|
||||
property Supplier: TThreadsSupplier read GetSupplier write SetSupplier;
|
||||
property UnitInfoProvider: TDebuggerUnitInfoProvider // Provided by DebugBoss, to map files to packages or project
|
||||
read FUnitInfoProvider write FUnitInfoProvider;
|
||||
end;
|
||||
@ -3176,11 +3160,6 @@ end;
|
||||
|
||||
{ TIdeLocalsMonitor }
|
||||
|
||||
function TIdeLocalsMonitor.GetSupplier: TLocalsSupplier;
|
||||
begin
|
||||
Result := TLocalsSupplier(inherited Supplier);
|
||||
end;
|
||||
|
||||
function TIdeLocalsMonitor.GetSnapshot(AnID: Pointer): TIDELocalsList;
|
||||
begin
|
||||
Result := TIDELocalsList(FSnapshots.SnapShot[AnID]);
|
||||
@ -3191,11 +3170,6 @@ begin
|
||||
Result := TCurrentLocalsList(LocalsList);;
|
||||
end;
|
||||
|
||||
procedure TIdeLocalsMonitor.SetSupplier(const AValue: TLocalsSupplier);
|
||||
begin
|
||||
inherited Supplier := AValue;
|
||||
end;
|
||||
|
||||
procedure TIdeLocalsMonitor.DoStateEnterPause;
|
||||
begin
|
||||
inherited DoStateEnterPause;
|
||||
@ -3227,8 +3201,6 @@ procedure TIdeLocalsMonitor.DoNewSupplier;
|
||||
begin
|
||||
inherited DoNewSupplier;
|
||||
NotifyChange(nil);
|
||||
if Supplier <> nil then
|
||||
Supplier.CurrentLocalsList := CurrentLocalsList;
|
||||
end;
|
||||
|
||||
procedure TIdeLocalsMonitor.RequestData(ALocals: TCurrentLocals);
|
||||
@ -3631,11 +3603,6 @@ end;
|
||||
|
||||
{ TIdeWatchesMonitor }
|
||||
|
||||
function TIdeWatchesMonitor.GetSupplier: TWatchesSupplier;
|
||||
begin
|
||||
Result := TWatchesSupplier(inherited Supplier);
|
||||
end;
|
||||
|
||||
function TIdeWatchesMonitor.GetSnapshot(AnID: Pointer): TIdeWatches;
|
||||
begin
|
||||
Result := TIdeWatches(FSnapshots.SnapShot[AnID]);
|
||||
@ -3646,11 +3613,6 @@ begin
|
||||
Result := TCurrentWatches(Watches);
|
||||
end;
|
||||
|
||||
procedure TIdeWatchesMonitor.SetSupplier(const AValue: TWatchesSupplier);
|
||||
begin
|
||||
inherited Supplier := AValue;
|
||||
end;
|
||||
|
||||
procedure TIdeWatchesMonitor.DoStateEnterPause;
|
||||
begin
|
||||
inherited DoStateEnterPause;
|
||||
@ -3675,13 +3637,6 @@ begin
|
||||
NotifyUpdate(CurrentWatches, nil);
|
||||
end;
|
||||
|
||||
procedure TIdeWatchesMonitor.DoNewSupplier;
|
||||
begin
|
||||
inherited DoNewSupplier;
|
||||
if Supplier <> nil then
|
||||
Supplier.CurrentWatches := CurrentWatches;
|
||||
end;
|
||||
|
||||
procedure TIdeWatchesMonitor.DoModified;
|
||||
begin
|
||||
if (FIgnoreModified = 0) and Assigned(FOnModified) then
|
||||
@ -4366,11 +4321,6 @@ end;
|
||||
|
||||
{ TIdeThreadsMonitor }
|
||||
|
||||
function TIdeThreadsMonitor.GetSupplier: TThreadsSupplier;
|
||||
begin
|
||||
Result := TThreadsSupplier(inherited Supplier);
|
||||
end;
|
||||
|
||||
function TIdeThreadsMonitor.GetSnapshot(AnID: Pointer): TIdeThreads;
|
||||
begin
|
||||
Result := TIdeThreads(FSnapshots.SnapShot[AnID]);
|
||||
@ -4381,11 +4331,6 @@ begin
|
||||
Result :=TCurrentThreads(Threads);
|
||||
end;
|
||||
|
||||
procedure TIdeThreadsMonitor.SetSupplier(const AValue: TThreadsSupplier);
|
||||
begin
|
||||
inherited Supplier := AValue;
|
||||
end;
|
||||
|
||||
procedure TIdeThreadsMonitor.DoModified;
|
||||
begin
|
||||
Changed;
|
||||
@ -4418,8 +4363,6 @@ begin
|
||||
inherited DoNewSupplier;
|
||||
if CurrentThreads <> nil then
|
||||
CurrentThreads.SetValidity(ddsUnknown);
|
||||
if Supplier <> nil then
|
||||
Supplier.CurrentThreads := CurrentThreads;
|
||||
end;
|
||||
|
||||
procedure TIdeThreadsMonitor.RequestData;
|
||||
@ -6435,21 +6378,11 @@ end;
|
||||
|
||||
{ TIdeRegistersMonitor }
|
||||
|
||||
function TIdeRegistersMonitor.GetSupplier: TRegisterSupplier;
|
||||
begin
|
||||
Result := TRegisterSupplier(inherited Supplier);
|
||||
end;
|
||||
|
||||
function TIdeRegistersMonitor.GetCurrentRegistersList: TCurrentIDERegistersList;
|
||||
begin
|
||||
Result := TCurrentIDERegistersList(RegistersList);
|
||||
end;
|
||||
|
||||
procedure TIdeRegistersMonitor.SetSupplier(const AValue: TRegisterSupplier);
|
||||
begin
|
||||
inherited Supplier := AValue;
|
||||
end;
|
||||
|
||||
procedure TIdeRegistersMonitor.DoStateEnterPause;
|
||||
begin
|
||||
inherited DoStateEnterPause;
|
||||
@ -6485,8 +6418,6 @@ procedure TIdeRegistersMonitor.DoNewSupplier;
|
||||
begin
|
||||
inherited DoNewSupplier;
|
||||
NotifyChange(nil);
|
||||
if Supplier <> nil then
|
||||
Supplier.CurrentRegistersList := CurrentRegistersList;
|
||||
end;
|
||||
|
||||
procedure TIdeRegistersMonitor.RequestData(ARegisters: TCurrentIDERegisters);
|
||||
@ -7040,11 +6971,6 @@ begin
|
||||
FreeAndNil(FSnapshots);
|
||||
end;
|
||||
|
||||
procedure TIdeCallStackMonitor.SetSupplier(const AValue: TCallStackSupplier);
|
||||
begin
|
||||
inherited Supplier := AValue;
|
||||
end;
|
||||
|
||||
procedure TIdeCallStackMonitor.DoStateEnterPause;
|
||||
begin
|
||||
inherited DoStateEnterPause;
|
||||
@ -7110,8 +7036,6 @@ procedure TIdeCallStackMonitor.DoNewSupplier;
|
||||
begin
|
||||
inherited DoNewSupplier;
|
||||
NotifyChange;
|
||||
if Supplier <> nil then
|
||||
Supplier.CurrentCallStackList := CurrentCallStackList;
|
||||
end;
|
||||
|
||||
procedure TIdeCallStackMonitor.CallStackClear(Sender: TObject);
|
||||
@ -7132,11 +7056,6 @@ begin
|
||||
Result := TIdeCallStackList(FSnapshots.SnapShot[AnID]);
|
||||
end;
|
||||
|
||||
function TIdeCallStackMonitor.GetSupplier: TCallStackSupplier;
|
||||
begin
|
||||
Result := TCallStackSupplier(inherited Supplier);
|
||||
end;
|
||||
|
||||
procedure TIdeCallStackMonitor.NotifyChange;
|
||||
begin
|
||||
FNotificationList.NotifyChange(Self);
|
||||
|
@ -25,7 +25,7 @@
|
||||
{%region GLOBAL}
|
||||
{$IFDEF Global_Type}
|
||||
//type
|
||||
TEnum = (One, Two, Three);
|
||||
TEnum = (One, Two, Three, Four, Five, Six);
|
||||
TEnumSet = set of TEnum;
|
||||
TSet = Set of (Alpha, Beta, Gamma);
|
||||
{$ENDIF}
|
||||
@ -35,6 +35,9 @@
|
||||
GlobEnum: TEnum;
|
||||
GlobEnumSet: TEnumSet;
|
||||
GlobSet: TSet;
|
||||
GlobSubEnum: Two..Four;
|
||||
GlobSubRange1: 9..77;
|
||||
GlobSubRange2: -9..-7;
|
||||
{$ENDIF}
|
||||
|
||||
{$IFDEF Global_Body}
|
||||
@ -42,6 +45,9 @@
|
||||
GlobEnum := Two;
|
||||
GlobEnumSet := [Two, Three];
|
||||
GlobSet := [Alpha, Beta];
|
||||
GlobSubEnum := Two;
|
||||
GlobSubRange1 := 55;
|
||||
GlobSubRange2 := -8;
|
||||
{$ENDIF}
|
||||
|
||||
{$IFDEF Global_Body_NIL}
|
||||
|
@ -210,7 +210,7 @@ type
|
||||
FLineInfo: TIDELineInfo;
|
||||
FWatches: TIdeWatchesMonitor;
|
||||
FThreads: TIdeThreadsMonitor;
|
||||
FRegisters: TIdeRegistersMonitor;
|
||||
FRegisters: TRegistersMonitor;
|
||||
private
|
||||
FParent: TGDBTestsuite;
|
||||
FTestBaseName: String;
|
||||
@ -283,7 +283,7 @@ type
|
||||
property Disassembler: TIDEDisassembler read FDisassembler;
|
||||
property Locals: TIdeLocalsMonitor read FLocals;
|
||||
property LineInfo: TIDELineInfo read FLineInfo;
|
||||
property Registers: TIdeRegistersMonitor read FRegisters;
|
||||
property Registers: TRegistersMonitor read FRegisters;
|
||||
//property Signals: TBaseSignals read FSignals; // A list of actions for signals we know of
|
||||
property Watches: TIdeWatchesMonitor read FWatches;
|
||||
property Threads: TIdeThreadsMonitor read FThreads;
|
||||
@ -534,7 +534,7 @@ begin
|
||||
FLineInfo := TIDELineInfo.Create;
|
||||
FCallStack := TIdeCallStackMonitor.Create;
|
||||
FDisassembler := TIDEDisassembler.Create;
|
||||
FRegisters := TIdeRegistersMonitor.Create;
|
||||
FRegisters := TRegistersMonitor.Create;
|
||||
|
||||
Result := GdbClass.Create(DebuggerInfo.ExeName);
|
||||
Result.OnDbgOutput := @InternalDbgOutPut;
|
||||
|
@ -51,7 +51,7 @@ type
|
||||
FLineInfo: TIDELineInfo;
|
||||
FWatches: TIdeWatchesMonitor;
|
||||
FThreads: TIdeThreadsMonitor;
|
||||
FRegisters: TIdeRegistersMonitor;
|
||||
FRegisters: TRegistersMonitor;
|
||||
published
|
||||
procedure RangeMap;
|
||||
procedure Disassemble;
|
||||
@ -342,7 +342,7 @@ var
|
||||
FLocals := TIdeLocalsMonitor.Create;
|
||||
FLineInfo := TIDELineInfo.Create;
|
||||
FCallStack := TIdeCallStackMonitor.Create;
|
||||
FRegisters := TIdeRegistersMonitor.Create;
|
||||
FRegisters := TRegistersMonitor.Create;
|
||||
|
||||
//TManagedBreakpoints(FBreakpoints).Master := FDebugger.BreakPoints;
|
||||
FWatches.Supplier := Gdb.Watches;
|
||||
|
Loading…
Reference in New Issue
Block a user