* fix several problems related to remote cross debugging

This commit is contained in:
pierre 2002-11-21 15:48:39 +00:00
parent 2f861fc9f5
commit 4bb38c13dc

View File

@ -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