mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-04-22 05:59:28 +02:00
LazDebuggerFPDServer: Implemented disassembler-linesbefore
git-svn-id: trunk@49365 -
This commit is contained in:
parent
3d1c73023d
commit
3eeb33c6af
@ -223,11 +223,12 @@ type
|
||||
private
|
||||
FDisassembler: TDBGDisassembler;
|
||||
FStartAddr: TDBGPtr;
|
||||
FLinesCount: integer;
|
||||
FLinesAfter: integer;
|
||||
FLinesBefore: integer;
|
||||
protected
|
||||
procedure ComposeJSon(AJsonObject: TJSONObject); override;
|
||||
public
|
||||
constructor create(ADisassembler: TDBGDisassembler; AStartAddr: TDBGPtr; ALinesCount: integer);
|
||||
constructor create(ADisassembler: TDBGDisassembler; AStartAddr: TDBGPtr; ALinesBefore, ALinesAfter: integer);
|
||||
procedure DoOnCommandSuccesfull(ACommandResponse: TJSonObject); override;
|
||||
end;
|
||||
|
||||
@ -383,9 +384,7 @@ var GCommandUID: integer = 0;
|
||||
|
||||
function TFPDBGDisassembler.PrepareEntries(AnAddr: TDbgPtr; ALinesBefore, ALinesAfter: Integer): boolean;
|
||||
begin
|
||||
Assert(ALinesBefore<>0,'TFPDBGDisassembler.PrepareEntries LinesBefore not supported');
|
||||
|
||||
TFPDServerDebugger(Debugger).QueueCommand(TFPDSendDisassembleCommand.create(self, AnAddr, ALinesAfter+1));
|
||||
TFPDServerDebugger(Debugger).QueueCommand(TFPDSendDisassembleCommand.create(self, AnAddr, ALinesBefore, ALinesAfter));
|
||||
result := false;
|
||||
end;
|
||||
|
||||
|
@ -260,16 +260,18 @@ begin
|
||||
AJsonObject.Add('command','disassemble');
|
||||
if FStartAddr>0 then
|
||||
AJsonObject.Add('address', Dec2Numb(FStartAddr, 8, 16));
|
||||
if FLinesCount>0 then
|
||||
AJsonObject.Add('lines', FLinesCount);
|
||||
if FLinesAfter>0 then
|
||||
AJsonObject.Add('linesafter', FLinesAfter);
|
||||
if FLinesBefore>0 then
|
||||
AJsonObject.Add('linesbefore', FLinesBefore);
|
||||
end;
|
||||
|
||||
constructor TFPDSendDisassembleCommand.create(ADisassembler: TDBGDisassembler;
|
||||
AStartAddr: TDBGPtr; ALinesCount: integer);
|
||||
constructor TFPDSendDisassembleCommand.create(ADisassembler: TDBGDisassembler; AStartAddr: TDBGPtr; ALinesBefore, ALinesAfter: integer);
|
||||
begin
|
||||
inherited create(true);
|
||||
FDisassembler := ADisassembler;
|
||||
FLinesCount:=ALinesCount;
|
||||
FLinesBefore:=ALinesBefore;
|
||||
FLinesAfter:=ALinesAfter;
|
||||
FStartAddr:=AStartAddr;
|
||||
end;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user