mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-04-20 20:49:49 +02:00
* fix several problems related to remote cross debugging
This commit is contained in:
parent
2f861fc9f5
commit
4bb38c13dc
@ -59,6 +59,7 @@ type
|
||||
procedure InsertBreakpoints;
|
||||
procedure RemoveBreakpoints;
|
||||
procedure ReadWatches;
|
||||
procedure RereadWatches;
|
||||
procedure ResetBreakpointsValues;
|
||||
procedure DoDebuggerScreen;virtual;
|
||||
procedure DoUserScreen;virtual;
|
||||
@ -192,6 +193,7 @@ type
|
||||
procedure Store(var S: TStream);
|
||||
procedure rename(s : string);
|
||||
procedure Get_new_value;
|
||||
procedure Force_new_value;
|
||||
destructor done;virtual;
|
||||
expr : pstring;
|
||||
private
|
||||
@ -728,6 +730,19 @@ begin
|
||||
WatchesWindow^.Update;
|
||||
end;
|
||||
|
||||
procedure TDebugController.RereadWatches;
|
||||
|
||||
procedure DoRead(PB : PWatch);
|
||||
begin
|
||||
PB^.Force_new_value;
|
||||
end;
|
||||
|
||||
begin
|
||||
WatchesCollection^.ForEach(@DoRead);
|
||||
If Assigned(WatchesWindow) then
|
||||
WatchesWindow^.Update;
|
||||
end;
|
||||
|
||||
|
||||
procedure TDebugController.RemoveBreakpoints;
|
||||
procedure DoDelete(PB : PBreakpoint);
|
||||
@ -2560,7 +2575,11 @@ procedure TWatch.Get_new_value;
|
||||
inc(curframe);
|
||||
if not Debugger^.set_current_frame(curframe) then
|
||||
loop_higher:=false;
|
||||
{$ifdef FrameNameKnown}
|
||||
s2:='/x '+FrameName;
|
||||
{$else not FrameNameKnown}
|
||||
s2:='/x $ebp';
|
||||
{$endif FrameNameKnown}
|
||||
getValue(s2);
|
||||
j:=pos('=',s2);
|
||||
if j>0 then
|
||||
@ -2626,6 +2645,12 @@ procedure TWatch.Get_new_value;
|
||||
GDBRunCount:=Debugger^.RunCount;
|
||||
end;
|
||||
|
||||
procedure TWatch.Force_new_value;
|
||||
begin
|
||||
GDBRunCount:=-1;
|
||||
Get_new_value;
|
||||
end;
|
||||
|
||||
destructor TWatch.Done;
|
||||
begin
|
||||
if assigned(expr) then
|
||||
@ -3872,7 +3897,7 @@ end;
|
||||
{$ifndef NODEBUG}
|
||||
Debugger^.Command('f '+IntToStr(Focused));
|
||||
{ for local vars }
|
||||
Debugger^.ReadWatches;
|
||||
Debugger^.RereadWatches;
|
||||
{$endif}
|
||||
{ goto source }
|
||||
inherited GotoSource;
|
||||
@ -3886,7 +3911,7 @@ end;
|
||||
{$ifndef NODEBUG}
|
||||
Debugger^.Command('f '+IntToStr(Focused));
|
||||
{ for local vars }
|
||||
Debugger^.ReadWatches;
|
||||
Debugger^.RereadWatches;
|
||||
{$endif}
|
||||
{ goto source/assembly mixture }
|
||||
InitDisassemblyWindow;
|
||||
@ -4250,7 +4275,10 @@ end.
|
||||
|
||||
{
|
||||
$Log$
|
||||
Revision 1.34 2002-11-21 00:37:56 pierre
|
||||
Revision 1.35 2002-11-21 15:48:39 pierre
|
||||
* fix several problems related to remote cross debugging
|
||||
|
||||
Revision 1.34 2002/11/21 00:37:56 pierre
|
||||
+ some cross gdb enhancements
|
||||
|
||||
Revision 1.33 2002/09/21 22:23:49 pierre
|
||||
|
Loading…
Reference in New Issue
Block a user