mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-08-14 06:39:12 +02:00
FpDebug: compile on win64
git-svn-id: trunk@44902 -
This commit is contained in:
parent
b70099f4fe
commit
e53e32b3c8
@ -984,6 +984,7 @@ end;
|
|||||||
|
|
||||||
procedure TDbgWinThread.LoadRegisterValues;
|
procedure TDbgWinThread.LoadRegisterValues;
|
||||||
begin
|
begin
|
||||||
|
{$ifdef cpui386}
|
||||||
with GCurrentContext^ do
|
with GCurrentContext^ do
|
||||||
begin
|
begin
|
||||||
FRegisterValueList.DbgRegisterAutoCreate['eax'].SetValue(Eax, IntToStr(Eax),4,0);
|
FRegisterValueList.DbgRegisterAutoCreate['eax'].SetValue(Eax, IntToStr(Eax),4,0);
|
||||||
@ -1006,6 +1007,10 @@ begin
|
|||||||
FRegisterValueList.DbgRegisterAutoCreate['gs'].SetValue(SegGs, IntToStr(SegGs),4,0);
|
FRegisterValueList.DbgRegisterAutoCreate['gs'].SetValue(SegGs, IntToStr(SegGs),4,0);
|
||||||
end;
|
end;
|
||||||
FRegisterValueListValid:=true;
|
FRegisterValueListValid:=true;
|
||||||
|
{$else}
|
||||||
|
FRegisterValueListValid := False;
|
||||||
|
{$warning register not ready for 64 bit}
|
||||||
|
{$endif}
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TDbgWinThread.SetSingleStep;
|
procedure TDbgWinThread.SetSingleStep;
|
||||||
@ -1038,6 +1043,7 @@ var
|
|||||||
|
|
||||||
begin
|
begin
|
||||||
result := -1;
|
result := -1;
|
||||||
|
{$ifdef cpui386}
|
||||||
if SetBreakpoint(GCurrentContext^.Dr0, 0) then
|
if SetBreakpoint(GCurrentContext^.Dr0, 0) then
|
||||||
result := 0
|
result := 0
|
||||||
else if SetBreakpoint(GCurrentContext^.Dr1, 1) then
|
else if SetBreakpoint(GCurrentContext^.Dr1, 1) then
|
||||||
@ -1048,6 +1054,10 @@ begin
|
|||||||
result := 3
|
result := 3
|
||||||
else
|
else
|
||||||
Process.Log('No hardware breakpoint available.');
|
Process.Log('No hardware breakpoint available.');
|
||||||
|
{$else}
|
||||||
|
FRegisterValueListValid := False;
|
||||||
|
{$warning watchpoint not ready for 64 bit}
|
||||||
|
{$endif}
|
||||||
end;
|
end;
|
||||||
|
|
||||||
function TDbgWinThread.RemoveWatchpoint(AnId: integer): boolean;
|
function TDbgWinThread.RemoveWatchpoint(AnId: integer): boolean;
|
||||||
@ -1070,12 +1080,17 @@ function TDbgWinThread.RemoveWatchpoint(AnId: integer): boolean;
|
|||||||
end;
|
end;
|
||||||
|
|
||||||
begin
|
begin
|
||||||
|
{$ifdef cpui386}
|
||||||
case AnId of
|
case AnId of
|
||||||
0: result := RemoveBreakpoint(GCurrentContext^.Dr0, 0);
|
0: result := RemoveBreakpoint(GCurrentContext^.Dr0, 0);
|
||||||
1: result := RemoveBreakpoint(GCurrentContext^.Dr1, 1);
|
1: result := RemoveBreakpoint(GCurrentContext^.Dr1, 1);
|
||||||
2: result := RemoveBreakpoint(GCurrentContext^.Dr2, 2);
|
2: result := RemoveBreakpoint(GCurrentContext^.Dr2, 2);
|
||||||
3: result := RemoveBreakpoint(GCurrentContext^.Dr3, 3);
|
3: result := RemoveBreakpoint(GCurrentContext^.Dr3, 3);
|
||||||
end
|
end
|
||||||
|
{$else}
|
||||||
|
FRegisterValueListValid := False;
|
||||||
|
{$warning watchpoint not ready for 64 bit}
|
||||||
|
{$endif}
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TDbgWinThread.BeforeContinue;
|
procedure TDbgWinThread.BeforeContinue;
|
||||||
|
Loading…
Reference in New Issue
Block a user