mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-08-16 17:29:31 +02:00
IdeDebugger: Add Mem-Viewer / fix compile with 3.2.2
This commit is contained in:
parent
041a654351
commit
f5e83fae47
@ -9,7 +9,7 @@ uses
|
|||||||
StdCtrls, LCLType, Menus, IDEWindowIntf, IDEImagesIntf,
|
StdCtrls, LCLType, Menus, IDEWindowIntf, IDEImagesIntf,
|
||||||
IdeDebuggerWatchValueIntf, SrcEditorIntf, EditorSyntaxHighlighterDef,
|
IdeDebuggerWatchValueIntf, SrcEditorIntf, EditorSyntaxHighlighterDef,
|
||||||
IDEOptEditorIntf, SynEdit, DbgIntfDebuggerBase, LazClasses, LazDebuggerIntf,
|
IDEOptEditorIntf, SynEdit, DbgIntfDebuggerBase, LazClasses, LazDebuggerIntf,
|
||||||
LazDebuggerIntfBaseTypes, DebuggerDlg, BaseDebugManager, Debugger,
|
LazDebuggerIntfBaseTypes, LazDebuggerUtils, DebuggerDlg, BaseDebugManager, Debugger,
|
||||||
IdeDebuggerStringConstants, SynGutterLineNumber, SynEditHighlighter,
|
IdeDebuggerStringConstants, SynGutterLineNumber, SynEditHighlighter,
|
||||||
LazNumEdit;
|
LazNumEdit;
|
||||||
|
|
||||||
@ -121,7 +121,7 @@ procedure TMemViewDlg.SynGutterLineNumber1FormatLineNumber(
|
|||||||
Sender: TSynGutterLineNumber; ALine: integer; out AText: string;
|
Sender: TSynGutterLineNumber; ALine: integer; out AText: string;
|
||||||
const ALineInfo: TSynEditGutterLineInfo);
|
const ALineInfo: TSynEditGutterLineInfo);
|
||||||
begin
|
begin
|
||||||
AText := IntToHex(FCurrentMemAddress + 16 * (ALine-1), FTargetWidth*2);
|
AText := Dec64ToNumb(FCurrentMemAddress + 16 * (ALine-1), FTargetWidth*2, 16);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TMemViewDlg.edAddressBaseEditingDone(Sender: TObject);
|
procedure TMemViewDlg.edAddressBaseEditingDone(Sender: TObject);
|
||||||
@ -412,7 +412,7 @@ begin
|
|||||||
TSynGutterLineNumber(edMemViewer.Gutter.Parts.ByClass[TSynGutterLineNumber,0]).DigitCount := FTargetWidth * 2;
|
TSynGutterLineNumber(edMemViewer.Gutter.Parts.ByClass[TSynGutterLineNumber,0]).DigitCount := FTargetWidth * 2;
|
||||||
UpdateSynText;
|
UpdateSynText;
|
||||||
StatusBar1.Visible := not IsPlainAddress(FCurrentEditAddrBaseText, dummy);
|
StatusBar1.Visible := not IsPlainAddress(FCurrentEditAddrBaseText, dummy);
|
||||||
StatusBar1.SimpleText := FCurrentEditAddrBaseText + ' @ $' + IntToHex(FCurrentEditAddrBase, FTargetWidth*2);
|
StatusBar1.SimpleText := FCurrentEditAddrBaseText + ' @ $' + Dec64ToNumb(FCurrentEditAddrBase, FTargetWidth*2, 16);
|
||||||
end;
|
end;
|
||||||
end
|
end
|
||||||
else begin
|
else begin
|
||||||
@ -533,13 +533,13 @@ begin
|
|||||||
|
|
||||||
{$PUSH}{$Q-}{$R-}
|
{$PUSH}{$Q-}{$R-}
|
||||||
if AnUseCurrentEditAddr then begin
|
if AnUseCurrentEditAddr then begin
|
||||||
WTxt := '$' + IntToHex(FCurrentEditAddrBase + Offs);
|
WTxt := '$' + Dec64ToNumb(FCurrentEditAddrBase + Offs, 1, 16);
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
if IsPlainAddress(FCurrentEditAddrBaseText, ANewAddr) then begin
|
if IsPlainAddress(FCurrentEditAddrBaseText, ANewAddr) then begin
|
||||||
FCurrentEditAddrBase := ANewAddr;
|
FCurrentEditAddrBase := ANewAddr;
|
||||||
ANewAddr := ANewAddr + Offs;
|
ANewAddr := ANewAddr + Offs;
|
||||||
WTxt := '$' + IntToHex(ANewAddr);
|
WTxt := '$' + Dec64ToNumb(ANewAddr, 1, 16);
|
||||||
end
|
end
|
||||||
else begin
|
else begin
|
||||||
// if offs > 0 then fetch the extra .... TODO: get only address
|
// if offs > 0 then fetch the extra .... TODO: get only address
|
||||||
@ -617,7 +617,7 @@ begin
|
|||||||
ReleaseRefAndNil(FCurrentWatchValue);
|
ReleaseRefAndNil(FCurrentWatchValue);
|
||||||
FWatches.BeginUpdate;
|
FWatches.BeginUpdate;
|
||||||
FWatches.Clear;
|
FWatches.Clear;
|
||||||
AWatch := FWatches.Add('$'+IntToHex(ANewStart));
|
AWatch := FWatches.Add('$'+Dec64ToNumb(ANewStart, 1, 16));
|
||||||
AWatch.EvaluateFlags := [defMemDump];
|
AWatch.EvaluateFlags := [defMemDump];
|
||||||
{$PUSH}{$Q-}{$R-}
|
{$PUSH}{$Q-}{$R-}
|
||||||
AWatch.RepeatCount := FCurrentMemAddress - ANewStart;
|
AWatch.RepeatCount := FCurrentMemAddress - ANewStart;
|
||||||
@ -677,7 +677,7 @@ begin
|
|||||||
ReleaseRefAndNil(FCurrentWatchValue);
|
ReleaseRefAndNil(FCurrentWatchValue);
|
||||||
FWatches.BeginUpdate;
|
FWatches.BeginUpdate;
|
||||||
FWatches.Clear;
|
FWatches.Clear;
|
||||||
AWatch := FWatches.Add('$'+IntToHex(ANewStart));
|
AWatch := FWatches.Add('$'+Dec64ToNumb(ANewStart, 1, 16));
|
||||||
AWatch.EvaluateFlags := [defMemDump];
|
AWatch.EvaluateFlags := [defMemDump];
|
||||||
AWatch.RepeatCount := ACount;
|
AWatch.RepeatCount := ACount;
|
||||||
AWatch.Enabled := True;
|
AWatch.Enabled := True;
|
||||||
|
Loading…
Reference in New Issue
Block a user