mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-08-22 10:00:33 +02:00
Debugger: refactor
git-svn-id: trunk@44472 -
This commit is contained in:
parent
e221726c5a
commit
26e420585f
@ -1313,6 +1313,13 @@ type
|
|||||||
function CreateStackEntry: TCallStackEntry; virtual;
|
function CreateStackEntry: TCallStackEntry; virtual;
|
||||||
public
|
public
|
||||||
constructor Create;
|
constructor Create;
|
||||||
|
constructor Create(const AnAdress: TDbgPtr;
|
||||||
|
const AnArguments: TStrings; const AFunctionName: String;
|
||||||
|
const FileName, FullName: String;
|
||||||
|
const ALine: Integer;
|
||||||
|
const AThreadId: Integer; const AThreadName: String;
|
||||||
|
const AThreadState: String;
|
||||||
|
AState: TDebuggerDataState = ddsValid);
|
||||||
function CreateCopy: TThreadEntry; virtual;
|
function CreateCopy: TThreadEntry; virtual;
|
||||||
destructor Destroy; override;
|
destructor Destroy; override;
|
||||||
procedure Assign(AnOther: TThreadEntry); virtual;
|
procedure Assign(AnOther: TThreadEntry); virtual;
|
||||||
@ -1326,27 +1333,33 @@ type
|
|||||||
{ TThreadsBase }
|
{ TThreadsBase }
|
||||||
|
|
||||||
TThreads = class(TObject)
|
TThreads = class(TObject)
|
||||||
|
private
|
||||||
|
FCurrentThreadId: Integer;
|
||||||
|
FList: TList;
|
||||||
|
function GetEntry(const AnIndex: Integer): TThreadEntry;
|
||||||
|
function GetEntryById(const AnID: Integer): TThreadEntry;
|
||||||
protected
|
protected
|
||||||
function GetEntryBase(const AnIndex: Integer): TThreadEntry; virtual; abstract;
|
procedure SetCurrentThreadId(AValue: Integer); virtual;
|
||||||
function GetEntryByIdBase(const AnID: Integer): TThreadEntry; virtual; abstract;
|
property List: TList read FList;
|
||||||
function GetCurrentThreadId: Integer; virtual; abstract;
|
|
||||||
procedure SetCurrentThreadId(AValue: Integer); virtual; abstract;
|
|
||||||
public
|
public
|
||||||
function Count: Integer; virtual; abstract;
|
constructor Create;
|
||||||
procedure Clear; virtual; abstract;
|
destructor Destroy; override;
|
||||||
procedure Add(AThread: TThreadEntry); virtual; abstract;
|
procedure Assign(AnOther: TThreads); virtual;
|
||||||
procedure Remove(AThread: TThreadEntry); virtual; abstract;
|
function Count: Integer; virtual;
|
||||||
|
procedure Clear; virtual;
|
||||||
|
procedure Add(AThread: TThreadEntry); virtual;
|
||||||
|
procedure Remove(AThread: TThreadEntry); virtual;
|
||||||
function CreateEntry(const AnAdress: TDbgPtr;
|
function CreateEntry(const AnAdress: TDbgPtr;
|
||||||
const AnArguments: TStrings; const AFunctionName: String;
|
const AnArguments: TStrings; const AFunctionName: String;
|
||||||
const FileName, FullName: String;
|
const FileName, FullName: String;
|
||||||
const ALine: Integer;
|
const ALine: Integer;
|
||||||
const AThreadId: Integer; const AThreadName: String;
|
const AThreadId: Integer; const AThreadName: String;
|
||||||
const AThreadState: String;
|
const AThreadState: String;
|
||||||
AState: TDebuggerDataState = ddsValid): TThreadEntry; virtual; abstract;
|
AState: TDebuggerDataState = ddsValid): TThreadEntry; virtual;
|
||||||
procedure SetValidity(AValidity: TDebuggerDataState); virtual; abstract;
|
procedure SetValidity(AValidity: TDebuggerDataState); virtual;
|
||||||
property Entries[const AnIndex: Integer]: TThreadEntry read GetEntryBase; default;
|
property Entries[const AnIndex: Integer]: TThreadEntry read GetEntry; default;
|
||||||
property EntryById[const AnID: Integer]: TThreadEntry read GetEntryByIdBase;
|
property EntryById[const AnID: Integer]: TThreadEntry read GetEntryById;
|
||||||
property CurrentThreadId: Integer read GetCurrentThreadId write SetCurrentThreadId;
|
property CurrentThreadId: Integer read FCurrentThreadId write SetCurrentThreadId;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
{ TThreadsSupplier }
|
{ TThreadsSupplier }
|
||||||
@ -1943,6 +1956,18 @@ begin
|
|||||||
inherited Create;
|
inherited Create;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
constructor TThreadEntry.Create(const AnAdress: TDbgPtr; const AnArguments: TStrings;
|
||||||
|
const AFunctionName: String; const FileName, FullName: String; const ALine: Integer;
|
||||||
|
const AThreadId: Integer; const AThreadName: String; const AThreadState: String;
|
||||||
|
AState: TDebuggerDataState);
|
||||||
|
begin
|
||||||
|
Create;
|
||||||
|
TopFrame.Init(AnAdress, AnArguments, AFunctionName, FileName, FullName, ALine, AState);
|
||||||
|
FThreadId := AThreadId;
|
||||||
|
FThreadName := AThreadName;
|
||||||
|
FThreadState := AThreadState;
|
||||||
|
end;
|
||||||
|
|
||||||
function TThreadEntry.CreateCopy: TThreadEntry;
|
function TThreadEntry.CreateCopy: TThreadEntry;
|
||||||
begin
|
begin
|
||||||
Result := TThreadEntry.Create;
|
Result := TThreadEntry.Create;
|
||||||
@ -1964,6 +1989,102 @@ begin
|
|||||||
FThreadState := AnOther.FThreadState;
|
FThreadState := AnOther.FThreadState;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
{ TThreads }
|
||||||
|
|
||||||
|
function TThreads.GetEntry(const AnIndex: Integer): TThreadEntry;
|
||||||
|
begin
|
||||||
|
if (AnIndex < 0) or (AnIndex >= Count) then exit(nil);
|
||||||
|
Result := TThreadEntry(FList[AnIndex]);
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TThreads.GetEntryById(const AnID: Integer): TThreadEntry;
|
||||||
|
var
|
||||||
|
i: Integer;
|
||||||
|
begin
|
||||||
|
i := Count - 1;
|
||||||
|
while i >= 0 do begin
|
||||||
|
Result := Entries[i];
|
||||||
|
if Result.ThreadId = AnID then
|
||||||
|
exit;
|
||||||
|
dec(i);
|
||||||
|
end;
|
||||||
|
Result := nil;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TThreads.SetCurrentThreadId(AValue: Integer);
|
||||||
|
begin
|
||||||
|
if FCurrentThreadId = AValue then exit;
|
||||||
|
FCurrentThreadId := AValue;
|
||||||
|
end;
|
||||||
|
|
||||||
|
constructor TThreads.Create;
|
||||||
|
begin
|
||||||
|
FList := TList.Create;
|
||||||
|
end;
|
||||||
|
|
||||||
|
destructor TThreads.Destroy;
|
||||||
|
begin
|
||||||
|
Clear;
|
||||||
|
FreeAndNil(FList);
|
||||||
|
inherited Destroy;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TThreads.Assign(AnOther: TThreads);
|
||||||
|
var
|
||||||
|
i: Integer;
|
||||||
|
begin
|
||||||
|
Clear;
|
||||||
|
FCurrentThreadId := AnOther.FCurrentThreadId;
|
||||||
|
for i := 0 to AnOther.FList.Count-1 do
|
||||||
|
FList.Add(TThreadEntry(AnOther.FList[i]).CreateCopy);
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TThreads.Count: Integer;
|
||||||
|
begin
|
||||||
|
Result := FList.Count;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TThreads.Clear;
|
||||||
|
begin
|
||||||
|
while FList.Count > 0 do begin
|
||||||
|
TThreadEntry(Flist[0]).Free;
|
||||||
|
FList.Delete(0);
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TThreads.Add(AThread: TThreadEntry);
|
||||||
|
begin
|
||||||
|
FList.Add(AThread.CreateCopy);
|
||||||
|
if FList.Count = 1 then
|
||||||
|
FCurrentThreadId := AThread.ThreadId;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TThreads.Remove(AThread: TThreadEntry);
|
||||||
|
begin
|
||||||
|
FList.Remove(AThread);
|
||||||
|
if FCurrentThreadId = AThread.ThreadId then begin
|
||||||
|
if FList.Count > 0 then
|
||||||
|
FCurrentThreadId := Entries[0].ThreadId
|
||||||
|
else
|
||||||
|
FCurrentThreadId := 0;
|
||||||
|
end;
|
||||||
|
AThread.Free;
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TThreads.CreateEntry(const AnAdress: TDbgPtr; const AnArguments: TStrings;
|
||||||
|
const AFunctionName: String; const FileName, FullName: String; const ALine: Integer;
|
||||||
|
const AThreadId: Integer; const AThreadName: String; const AThreadState: String;
|
||||||
|
AState: TDebuggerDataState): TThreadEntry;
|
||||||
|
begin
|
||||||
|
Result := TThreadEntry.Create(AnAdress, AnArguments, AFunctionName, FileName,
|
||||||
|
FullName, ALine, AThreadId, AThreadName, AThreadState, AState);
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TThreads.SetValidity(AValidity: TDebuggerDataState);
|
||||||
|
begin
|
||||||
|
//
|
||||||
|
end;
|
||||||
|
|
||||||
{ TThreadsMonitor }
|
{ TThreadsMonitor }
|
||||||
|
|
||||||
function TThreadsMonitor.GetSupplier: TThreadsSupplier;
|
function TThreadsMonitor.GetSupplier: TThreadsSupplier;
|
||||||
|
@ -1397,13 +1397,6 @@ type
|
|||||||
AUnitInvoPrv: TDebuggerUnitInfoProvider = nil
|
AUnitInvoPrv: TDebuggerUnitInfoProvider = nil
|
||||||
); reintroduce;
|
); reintroduce;
|
||||||
public
|
public
|
||||||
constructor Create(const AnAdress: TDbgPtr;
|
|
||||||
const AnArguments: TStrings; const AFunctionName: String;
|
|
||||||
const FileName, FullName: String;
|
|
||||||
const ALine: Integer;
|
|
||||||
const AThreadId: Integer; const AThreadName: String;
|
|
||||||
const AThreadState: String;
|
|
||||||
AState: TDebuggerDataState = ddsValid); overload;
|
|
||||||
function CreateCopy: TThreadEntry; override;
|
function CreateCopy: TThreadEntry; override;
|
||||||
property TopFrame: TIdeThreadFrameEntry read GetTopFrame;
|
property TopFrame: TIdeThreadFrameEntry read GetTopFrame;
|
||||||
end;
|
end;
|
||||||
@ -1412,16 +1405,9 @@ type
|
|||||||
|
|
||||||
TIdeThreads = class(TThreads)
|
TIdeThreads = class(TThreads)
|
||||||
private
|
private
|
||||||
FCurrentThreadId: Integer;
|
|
||||||
FList: TList;
|
|
||||||
function GetEntry(const AnIndex: Integer): TIdeThreadEntry;
|
function GetEntry(const AnIndex: Integer): TIdeThreadEntry;
|
||||||
function GetEntryById(const AnID: Integer): TIdeThreadEntry;
|
function GetEntryById(const AnID: Integer): TIdeThreadEntry;
|
||||||
protected
|
protected
|
||||||
procedure SetCurrentThreadId(AValue: Integer); override;
|
|
||||||
function GetCurrentThreadId: Integer; override;
|
|
||||||
function GetEntryBase(const AnIndex: Integer): TThreadEntry; override;
|
|
||||||
function GetEntryByIdBase(const AnID: Integer): TThreadEntry; override;
|
|
||||||
procedure Assign(AOther: TIdeThreads);
|
|
||||||
procedure LoadDataFromXMLConfig(const AConfig: TXMLConfig;
|
procedure LoadDataFromXMLConfig(const AConfig: TXMLConfig;
|
||||||
APath: string;
|
APath: string;
|
||||||
AUnitInvoPrv: TDebuggerUnitInfoProvider = nil
|
AUnitInvoPrv: TDebuggerUnitInfoProvider = nil
|
||||||
@ -1431,12 +1417,6 @@ type
|
|||||||
AUnitInvoPrv: TDebuggerUnitInfoProvider = nil
|
AUnitInvoPrv: TDebuggerUnitInfoProvider = nil
|
||||||
);
|
);
|
||||||
public
|
public
|
||||||
constructor Create;
|
|
||||||
destructor Destroy; override;
|
|
||||||
function Count: Integer; override;
|
|
||||||
procedure Clear; override;
|
|
||||||
procedure Add(AThread: TThreadEntry); override;
|
|
||||||
procedure Remove(AThread: TThreadEntry); override;
|
|
||||||
function CreateEntry(const AnAdress: TDbgPtr;
|
function CreateEntry(const AnAdress: TDbgPtr;
|
||||||
const AnArguments: TStrings; const AFunctionName: String;
|
const AnArguments: TStrings; const AFunctionName: String;
|
||||||
const FileName, FullName: String;
|
const FileName, FullName: String;
|
||||||
@ -4170,7 +4150,7 @@ end;
|
|||||||
|
|
||||||
procedure TCurrentThreads.SetCurrentThreadId(AValue: Integer);
|
procedure TCurrentThreads.SetCurrentThreadId(AValue: Integer);
|
||||||
begin
|
begin
|
||||||
if FCurrentThreadId = AValue then exit;
|
if CurrentThreadId = AValue then exit;
|
||||||
DebugLn(DBG_DATA_MONITORS, ['DebugDataMonitor: TCurrentThreads.SetCurrentThreadId ', AValue]);
|
DebugLn(DBG_DATA_MONITORS, ['DebugDataMonitor: TCurrentThreads.SetCurrentThreadId ', AValue]);
|
||||||
inherited SetCurrentThreadId(AValue);
|
inherited SetCurrentThreadId(AValue);
|
||||||
FMonitor.CurrentChanged; // TODO ChangedSelection
|
FMonitor.CurrentChanged; // TODO ChangedSelection
|
||||||
@ -4481,18 +4461,6 @@ begin
|
|||||||
AConfig.SetValue(APath + 'ThreadState', ThreadState);
|
AConfig.SetValue(APath + 'ThreadState', ThreadState);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
constructor TIdeThreadEntry.Create(const AnAdress: TDbgPtr; const AnArguments: TStrings;
|
|
||||||
const AFunctionName: String; const FileName, FullName: String; const ALine: Integer;
|
|
||||||
const AThreadId: Integer; const AThreadName: String; const AThreadState: String;
|
|
||||||
AState: TDebuggerDataState);
|
|
||||||
begin
|
|
||||||
inherited Create;
|
|
||||||
TopFrame.Init(AnAdress, AnArguments, AFunctionName, FileName, FullName, ALine, AState);
|
|
||||||
FThreadId := AThreadId;
|
|
||||||
FThreadName := AThreadName;
|
|
||||||
FThreadState := AThreadState;
|
|
||||||
end;
|
|
||||||
|
|
||||||
function TIdeThreadEntry.CreateCopy: TThreadEntry;
|
function TIdeThreadEntry.CreateCopy: TThreadEntry;
|
||||||
begin
|
begin
|
||||||
Result := TIdeThreadEntry.Create;
|
Result := TIdeThreadEntry.Create;
|
||||||
@ -4503,53 +4471,12 @@ end;
|
|||||||
|
|
||||||
function TIdeThreads.GetEntry(const AnIndex: Integer): TIdeThreadEntry;
|
function TIdeThreads.GetEntry(const AnIndex: Integer): TIdeThreadEntry;
|
||||||
begin
|
begin
|
||||||
if (AnIndex < 0) or (AnIndex >= Count) then exit(nil);
|
Result := TIdeThreadEntry(inherited Entries[AnIndex]);
|
||||||
Result := TIdeThreadEntry(FList[AnIndex]);
|
|
||||||
end;
|
end;
|
||||||
|
|
||||||
function TIdeThreads.GetEntryById(const AnID: Integer): TIdeThreadEntry;
|
function TIdeThreads.GetEntryById(const AnID: Integer): TIdeThreadEntry;
|
||||||
var
|
|
||||||
i: Integer;
|
|
||||||
begin
|
begin
|
||||||
i := Count - 1;
|
Result := TIdeThreadEntry(inherited EntryById[AnID]);
|
||||||
while i >= 0 do begin
|
|
||||||
Result := Entries[i];
|
|
||||||
if Result.ThreadId = AnID then
|
|
||||||
exit;
|
|
||||||
dec(i);
|
|
||||||
end;
|
|
||||||
Result := nil;
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TIdeThreads.SetCurrentThreadId(AValue: Integer);
|
|
||||||
begin
|
|
||||||
if FCurrentThreadId = AValue then exit;
|
|
||||||
FCurrentThreadId := AValue;
|
|
||||||
end;
|
|
||||||
|
|
||||||
function TIdeThreads.GetCurrentThreadId: Integer;
|
|
||||||
begin
|
|
||||||
Result := FCurrentThreadId;
|
|
||||||
end;
|
|
||||||
|
|
||||||
function TIdeThreads.GetEntryBase(const AnIndex: Integer): TThreadEntry;
|
|
||||||
begin
|
|
||||||
Result := TThreadEntry(GetEntry(AnIndex));
|
|
||||||
end;
|
|
||||||
|
|
||||||
function TIdeThreads.GetEntryByIdBase(const AnID: Integer): TThreadEntry;
|
|
||||||
begin
|
|
||||||
Result := TThreadEntry(GetEntryById(AnID));
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TIdeThreads.Assign(AOther: TIdeThreads);
|
|
||||||
var
|
|
||||||
i: Integer;
|
|
||||||
begin
|
|
||||||
Clear;
|
|
||||||
FCurrentThreadId := AOther.FCurrentThreadId;
|
|
||||||
for i := 0 to AOther.FList.Count-1 do
|
|
||||||
FList.Add(TIdeThreadEntry(AOther.FList[i]).CreateCopy);
|
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TIdeThreads.LoadDataFromXMLConfig(const AConfig: TXMLConfig; APath: string;
|
procedure TIdeThreads.LoadDataFromXMLConfig(const AConfig: TXMLConfig; APath: string;
|
||||||
@ -4557,15 +4484,17 @@ procedure TIdeThreads.LoadDataFromXMLConfig(const AConfig: TXMLConfig; APath: st
|
|||||||
var
|
var
|
||||||
c, i: Integer;
|
c, i: Integer;
|
||||||
e: TIdeThreadEntry;
|
e: TIdeThreadEntry;
|
||||||
|
NewCurrentThreadId: Integer;
|
||||||
begin
|
begin
|
||||||
Clear;
|
Clear;
|
||||||
FCurrentThreadId := AConfig.GetValue(APath + 'CurrentThreadId', -1);
|
NewCurrentThreadId := AConfig.GetValue(APath + 'CurrentThreadId', -1);
|
||||||
|
inherited SetCurrentThreadId(NewCurrentThreadId);
|
||||||
c := AConfig.GetValue(APath + 'Count', 0);
|
c := AConfig.GetValue(APath + 'Count', 0);
|
||||||
APath := APath + 'Entry';
|
APath := APath + 'Entry';
|
||||||
for i := 0 to c - 1 do begin
|
for i := 0 to c - 1 do begin
|
||||||
e := TIdeThreadEntry.Create;
|
e := TIdeThreadEntry.Create;
|
||||||
e.LoadDataFromXMLConfig(AConfig, APath + IntToStr(i) + '/', AUnitInvoPrv);
|
e.LoadDataFromXMLConfig(AConfig, APath + IntToStr(i) + '/', AUnitInvoPrv);
|
||||||
FList.Add(e);
|
List.Add(e);
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
@ -4574,57 +4503,13 @@ procedure TIdeThreads.SaveDataToXMLConfig(const AConfig: TXMLConfig; APath: stri
|
|||||||
var
|
var
|
||||||
i: Integer;
|
i: Integer;
|
||||||
begin
|
begin
|
||||||
AConfig.SetValue(APath + 'CurrentThreadId', FCurrentThreadId);
|
AConfig.SetValue(APath + 'CurrentThreadId', CurrentThreadId);
|
||||||
AConfig.SetDeleteValue(APath + 'Count', Count, 0);
|
AConfig.SetDeleteValue(APath + 'Count', Count, 0);
|
||||||
APath := APath + 'Entry';
|
APath := APath + 'Entry';
|
||||||
for i := 0 to Count - 1 do
|
for i := 0 to Count - 1 do
|
||||||
Entries[i].SaveDataToXMLConfig(AConfig, APath + IntToStr(i) + '/', AUnitInvoPrv);
|
Entries[i].SaveDataToXMLConfig(AConfig, APath + IntToStr(i) + '/', AUnitInvoPrv);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
constructor TIdeThreads.Create;
|
|
||||||
begin
|
|
||||||
FList := TList.Create;
|
|
||||||
end;
|
|
||||||
|
|
||||||
destructor TIdeThreads.Destroy;
|
|
||||||
begin
|
|
||||||
Clear;
|
|
||||||
FreeAndNil(FList);
|
|
||||||
inherited Destroy;
|
|
||||||
end;
|
|
||||||
|
|
||||||
function TIdeThreads.Count: Integer;
|
|
||||||
begin
|
|
||||||
Result := FList.Count;
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TIdeThreads.Clear;
|
|
||||||
begin
|
|
||||||
while FList.Count > 0 do begin
|
|
||||||
TIdeThreadEntry(Flist[0]).Free;
|
|
||||||
FList.Delete(0);
|
|
||||||
end;
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TIdeThreads.Add(AThread: TThreadEntry);
|
|
||||||
begin
|
|
||||||
FList.Add((AThread as TIdeThreadEntry).CreateCopy);
|
|
||||||
if FList.Count = 1 then
|
|
||||||
FCurrentThreadId := (AThread as TIdeThreadEntry).ThreadId;
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TIdeThreads.Remove(AThread: TThreadEntry);
|
|
||||||
begin
|
|
||||||
FList.Remove(AThread);
|
|
||||||
if FCurrentThreadId = (AThread as TIdeThreadEntry).ThreadId then begin
|
|
||||||
if FList.Count > 0 then
|
|
||||||
FCurrentThreadId := Entries[0].ThreadId
|
|
||||||
else
|
|
||||||
FCurrentThreadId := 0;
|
|
||||||
end;
|
|
||||||
AThread.Free;
|
|
||||||
end;
|
|
||||||
|
|
||||||
function TIdeThreads.CreateEntry(const AnAdress: TDbgPtr; const AnArguments: TStrings;
|
function TIdeThreads.CreateEntry(const AnAdress: TDbgPtr; const AnArguments: TStrings;
|
||||||
const AFunctionName: String; const FileName, FullName: String; const ALine: Integer;
|
const AFunctionName: String; const FileName, FullName: String; const ALine: Integer;
|
||||||
const AThreadId: Integer; const AThreadName: String; const AThreadState: String;
|
const AThreadId: Integer; const AThreadName: String; const AThreadState: String;
|
||||||
|
@ -223,7 +223,7 @@ type
|
|||||||
FLocals: TIdeLocalsMonitor;
|
FLocals: TIdeLocalsMonitor;
|
||||||
FLineInfo: TIDELineInfo;
|
FLineInfo: TIDELineInfo;
|
||||||
FWatches: TIdeWatchesMonitor;
|
FWatches: TIdeWatchesMonitor;
|
||||||
FThreads: TIdeThreadsMonitor;
|
FThreads: TThreadsMonitor;
|
||||||
FRegisters: TRegistersMonitor;
|
FRegisters: TRegistersMonitor;
|
||||||
private
|
private
|
||||||
FParent: TGDBTestsuite;
|
FParent: TGDBTestsuite;
|
||||||
@ -300,7 +300,7 @@ type
|
|||||||
property Registers: TRegistersMonitor read FRegisters;
|
property Registers: TRegistersMonitor read FRegisters;
|
||||||
//property Signals: TBaseSignals read FSignals; // A list of actions for signals we know of
|
//property Signals: TBaseSignals read FSignals; // A list of actions for signals we know of
|
||||||
property Watches: TIdeWatchesMonitor read FWatches;
|
property Watches: TIdeWatchesMonitor read FWatches;
|
||||||
property Threads: TIdeThreadsMonitor read FThreads;
|
property Threads: TThreadsMonitor read FThreads;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
function GetCompilers: TCompilerList;
|
function GetCompilers: TCompilerList;
|
||||||
@ -555,7 +555,7 @@ begin
|
|||||||
//FBreakPoints := TManagedBreakPoints.Create(Self);
|
//FBreakPoints := TManagedBreakPoints.Create(Self);
|
||||||
//FBreakPointGroups := TIDEBreakPointGroups.Create;
|
//FBreakPointGroups := TIDEBreakPointGroups.Create;
|
||||||
FWatches := TIdeWatchesMonitor.Create;
|
FWatches := TIdeWatchesMonitor.Create;
|
||||||
FThreads := TIdeThreadsMonitor.Create;
|
FThreads := TThreadsMonitor.Create;
|
||||||
FExceptions := TBaseExceptions.Create(TBaseException);
|
FExceptions := TBaseExceptions.Create(TBaseException);
|
||||||
//FSignals := TBaseSignals.Create(TBaseSignal);
|
//FSignals := TBaseSignals.Create(TBaseSignal);
|
||||||
FLocals := TIdeLocalsMonitor.Create;
|
FLocals := TIdeLocalsMonitor.Create;
|
||||||
|
@ -50,7 +50,7 @@ type
|
|||||||
FLocals: TIdeLocalsMonitor;
|
FLocals: TIdeLocalsMonitor;
|
||||||
FLineInfo: TIDELineInfo;
|
FLineInfo: TIDELineInfo;
|
||||||
FWatches: TIdeWatchesMonitor;
|
FWatches: TIdeWatchesMonitor;
|
||||||
FThreads: TIdeThreadsMonitor;
|
FThreads: TThreadsMonitor;
|
||||||
FRegisters: TRegistersMonitor;
|
FRegisters: TRegistersMonitor;
|
||||||
published
|
published
|
||||||
procedure RangeMap;
|
procedure RangeMap;
|
||||||
@ -337,7 +337,7 @@ var
|
|||||||
IdeDisAss := Gdb.Disassembler;
|
IdeDisAss := Gdb.Disassembler;
|
||||||
|
|
||||||
FWatches := TIdeWatchesMonitor.Create;
|
FWatches := TIdeWatchesMonitor.Create;
|
||||||
FThreads := TIdeThreadsMonitor.Create;
|
FThreads := TThreadsMonitor.Create;
|
||||||
FExceptions := TBaseExceptions.Create(TBaseException);
|
FExceptions := TBaseExceptions.Create(TBaseException);
|
||||||
//FSignals := TBaseSignals.Create(TBaseSignal);
|
//FSignals := TBaseSignals.Create(TBaseSignal);
|
||||||
FLocals := TIdeLocalsMonitor.Create;
|
FLocals := TIdeLocalsMonitor.Create;
|
||||||
|
Loading…
Reference in New Issue
Block a user