Changeset 36 for trunk/Forms


Ignore:
Timestamp:
Feb 19, 2012, 9:44:58 AM (13 years ago)
Author:
chronos
Message:
  • Modified: Redone brakepoint system for system stepping breakpoints. Now system breakpoint are managed using BreakPoints filed in TTarget.
  • Added: Program can be started using Step in, Step over and Run to cursor actions.
Location:
trunk/Forms
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/Forms/UMainForm.lfm

    r35 r36  
    580580      object MenuItem32: TMenuItem
    581581        Action = AProgramStepInto
     582        Bitmap.Data = {
     583          36040000424D3604000000000000360000002800000010000000100000000100
     584          2000000000000004000064000000640000000000000000000000FFFFFF00FFFF
     585          FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
     586          FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
     587          FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
     588          FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
     589          FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00000000FF000000FF000000FF0000
     590          00FF000000FF000000FF000000FF000000FFFFFFFF00FFFFFF00FFFFFF00FFFF
     591          FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
     592          FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
     593          FF00FFFFFF00FFFFFF000000ABA60000AB5B0000AA06FFFFFF00000000FF0000
     594          00FF000000FF000000FF000000FF000000FFFFFFFF00FFFFFF00FFFFFF00FFFF
     595          FF000000AB4C0000AAD10000AAFF0000AAFF0000AADB0000AA1BFFFFFF00FFFF
     596          FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
     597          FF000000AAD10000A8380000ABA60000AB5B0000AA06FFFFFF00000000FF0000
     598          00FF000000FF000000FF000000FF000000FFFFFFFF00FFFFFF00FFFFFF00FFFF
     599          FF000000AAFFFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
     600          FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
     601          FF000000AAFFFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00000000FF0000
     602          00FF000000FF000000FF000000FF000000FFFFFFFF00FFFFFF00FFFFFF00FFFF
     603          FF000000AAFFFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
     604          FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
     605          FF000000AAFFFFFFFF00FFFFFF00FFFFFF00000000FF000000FF000000FF0000
     606          00FF000000FF000000FF000000FF000000FFFFFFFF00FFFFFF00FFFFFF00FFFF
     607          FF000000AAFFFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
     608          FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
     609          FF000000AAD10000A838FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
     610          FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
     611          FF000000AB4C0000AAD10000AAFF0000AAFF0000AAFF0000AAFF0000AAC0FFFF
     612          FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
     613          FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
     614          FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
     615          FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
     616          FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00
     617        }
    582618      end
    583619      object MenuItem33: TMenuItem
    584620        Action = AProgramStepOver
     621        Bitmap.Data = {
     622          36040000424D3604000000000000360000002800000010000000100000000100
     623          2000000000000004000064000000640000000000000000000000FFFFFF00FFFF
     624          FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000000ABA60000AB5B0000
     625          AA06FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
     626          FF000000AB4C0000AAD10000AAFF0000AAFF0000AAFF0000AAFF0000AAFF0000
     627          AADB0000AA1BFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
     628          FF000000AAD10000A838FFFFFF00FFFFFF00FFFFFF000000ABA60000AB5B0000
     629          AA06FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
     630          FF000000AAFFFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
     631          FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
     632          FF000000AAFFFFFFFF00FFFFFF00FFFFFF00000000FF000000FF000000FF0000
     633          00FF000000FF000000FF000000FF000000FFFFFFFF00FFFFFF00FFFFFF00FFFF
     634          FF000000AAFFFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
     635          FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
     636          FF000000AAFFFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00000000FF0000
     637          00FF000000FF000000FF000000FF000000FFFFFFFF00FFFFFF00FFFFFF00FFFF
     638          FF000000AAFFFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
     639          FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
     640          FF000000AAFFFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00000000FF0000
     641          00FF000000FF000000FF000000FF000000FFFFFFFF00FFFFFF00FFFFFF00FFFF
     642          FF000000AAFFFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
     643          FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
     644          FF000000AAFFFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00000000FF0000
     645          00FF000000FF000000FF000000FF000000FFFFFFFF00FFFFFF00FFFFFF00FFFF
     646          FF000000AAFFFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
     647          FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
     648          FF000000AAFFFFFFFF00FFFFFF00FFFFFF00000000FF000000FF000000FF0000
     649          00FF000000FF000000FF000000FF000000FFFFFFFF00FFFFFF00FFFFFF00FFFF
     650          FF000000AAD10000A838FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
     651          FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
     652          FF000000AB4C0000AAD10000AAFF0000AAFF0000AAFF0000AAFF0000AAC0FFFF
     653          FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
     654          FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
     655          FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00
     656        }
    585657      end
    586658      object MenuItem34: TMenuItem
    587659        Action = AProgramStepOut
     660        Bitmap.Data = {
     661          36040000424D3604000000000000360000002800000010000000100000000100
     662          2000000000000004000064000000640000000000000000000000FFFFFF00FFFF
     663          FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
     664          FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
     665          FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000000ABA60000AB5B0000
     666          AA06FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
     667          FF000000AB4C0000AAD10000AAFF0000AAFF0000AAFF0000AAFF0000AAFF0000
     668          AADB0000AA1BFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
     669          FF000000AAD10000A838FFFFFF00FFFFFF00FFFFFF000000ABA60000AB5B0000
     670          AA06FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
     671          FF000000AAFFFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
     672          FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
     673          FF000000AAFFFFFFFF00FFFFFF00FFFFFF00000000FF000000FF000000FF0000
     674          00FF000000FF000000FF000000FF000000FFFFFFFF00FFFFFF00FFFFFF00FFFF
     675          FF000000AAFFFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
     676          FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
     677          FF000000AAFFFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00000000FF0000
     678          00FF000000FF000000FF000000FF000000FFFFFFFF00FFFFFF00FFFFFF00FFFF
     679          FF000000AAFFFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
     680          FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
     681          FF000000AAD10000A838FFFFFF00FFFFFF00FFFFFF00FFFFFF00000000FF0000
     682          00FF000000FF000000FF000000FF000000FFFFFFFF00FFFFFF00FFFFFF00FFFF
     683          FF000000AB4C0000AAD10000AAFF0000AAFF0000AAC0FFFFFF00FFFFFF00FFFF
     684          FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
     685          FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00000000FF0000
     686          00FF000000FF000000FF000000FF000000FFFFFFFF00FFFFFF00FFFFFF00FFFF
     687          FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
     688          FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
     689          FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00000000FF000000FF000000FF0000
     690          00FF000000FF000000FF000000FF000000FFFFFFFF00FFFFFF00FFFFFF00FFFF
     691          FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
     692          FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
     693          FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
     694          FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00
     695        }
    588696      end
    589697      object MenuItem35: TMenuItem
    590698        Action = AProgramRunToCursor
     699        Bitmap.Data = {
     700          36040000424D3604000000000000360000002800000010000000100000000100
     701          2000000000000004000064000000640000000000000000000000FFFFFF00FFFF
     702          FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
     703          FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
     704          FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00D7D7
     705          D74CCCCCCCA0CCCCCCA0CCCCCCA0CCCCCCA0CCCCCCA0D7D7D74CFFFFFF00FFFF
     706          FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00CCCC
     707          CCA0000000FF000000FF000000FF000000FF000000FFCCCCCCA0FFFFFF000000
     708          000800000006FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00D7D7
     709          D74CCCCCCCA0BEBEBED5000000FFBEBEBED5CCCCCCA0D7D7D74CFFFFFF000000
     710          0028004000DB002E007900000006FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
     711          FF00FFFFFF00CCCCCCA0000000FFCCCCCCA0FFFFFF00FFFFFF00FFFFFF000000
     712          0028006C00FF007C00FF005100D30031007800000006FFFFFF00FFFFFF00FFFF
     713          FF00FFFFFF00CCCCCCA0000000FFCCCCCCA0FFFFFF00FFFFFF00FFFFFF000000
     714          0028006C00FF008000FF008000FF007D00FF005200D30031007700000006FFFF
     715          FF00FFFFFF00CCCCCCA0000000FFCCCCCCA0FFFFFF00FFFFFF00FFFFFF000000
     716          0028006C00FF008000FF008000FF008000FF008000FF007D00FF005300D20031
     717          007700000006CCCCCCA0000000FFCCCCCCA0FFFFFF00FFFFFF00FFFFFF000000
     718          0028006C00FF008000FF008000FF008000FF008000FF007D00FF005300D20031
     719          007700000006CCCCCCA0000000FFCCCCCCA0FFFFFF00FFFFFF00FFFFFF000000
     720          0028006C00FF008000FF008000FF007D00FF005200D30031007700000006FFFF
     721          FF00FFFFFF00CCCCCCA0000000FFCCCCCCA0FFFFFF00FFFFFF00FFFFFF000000
     722          0028006C00FF007C00FF005100D30031007800000006FFFFFF00FFFFFF00FFFF
     723          FF00FFFFFF00CCCCCCA0000000FFCCCCCCA0FFFFFF00FFFFFF00FFFFFF000000
     724          0028004000DB002E007900000006FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
     725          FF00FFFFFF00CCCCCCA0000000FFCCCCCCA0FFFFFF00FFFFFF00FFFFFF000000
     726          000800000006FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00D7D7
     727          D74CCCCCCCA0BEBEBED5000000FFBEBEBED5CCCCCCA0D7D7D74CFFFFFF00FFFF
     728          FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00CCCC
     729          CCA0000000FF000000FF000000FF000000FF000000FFCCCCCCA0FFFFFF00FFFF
     730          FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00D7D7
     731          D74CCCCCCCA0CCCCCCA0CCCCCCA0CCCCCCA0CCCCCCA0D7D7D74CFFFFFF00FFFF
     732          FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
     733          FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00
     734        }
    591735      end
    592736      object MenuItem31: TMenuItem
  • trunk/Forms/UMainForm.pas

    r35 r36  
    120120    procedure AProgramPauseExecute(Sender: TObject);
    121121    procedure AProgramRunToCursorExecute(Sender: TObject);
     122    procedure AProgramRunExecute(Sender: TObject);
    122123    procedure AProgramShowExecutionPointExecute(Sender: TObject);
    123124    procedure AProgramStepIntoExecute(Sender: TObject);
     
    130131    procedure AProjectSaveAsExecute(Sender: TObject);
    131132    procedure AProjectSaveExecute(Sender: TObject);
    132     procedure AProgramRunExecute(Sender: TObject);
    133133    procedure AShowSourcePositionExecute(Sender: TObject);
    134134    procedure AShowTargetPositionExecute(Sender: TObject);
     
    155155    procedure ProjectOpen(FileName: string);
    156156    procedure SetCurrentTarget(AValue: TTarget);
     157    procedure UpdateToolBarHints;
    157158  public
    158159    Modified: Boolean;
    159160    ProjectFileName: string;
    160     BreakPoints: TListInteger;
    161161    Targets: TTargetList;
    162162    LastOpenedList: TLastOpenedList;
     
    195195    else AProjectNew.Execute;
    196196  UpdateInterface;
     197  UpdateToolBarHints;
     198  UpdateTargetList;
    197199end;
    198200
     
    266268  FCurrentTarget.OnChangeState := TargetStateChanged;
    267269  UpdateInterface;
     270end;
     271
     272procedure TMainForm.UpdateToolBarHints;
     273var
     274  I: Integer;
     275begin
     276  for I := 0 to ToolBar1.ControlCount - 1 do
     277    ToolBar1.Controls[I].Hint := ToolBar1.Controls[I].Caption;
    268278end;
    269279
     
    327337  AProgramCompile.Enabled := (tcCompile in CurrentTarget.Capabilities);
    328338  AProgramStepInto.Enabled := (tcStepInto in CurrentTarget.Capabilities) and
    329     (ProjectFileName <> '') and (CurrentTarget.State = rsPaused);
     339    (ProjectFileName <> '') and ((CurrentTarget.State = rsPaused) or (CurrentTarget.State = rsStopped));
    330340  AProgramStepOut.Enabled := (tcStepOut in CurrentTarget.Capabilities) and
    331341    (ProjectFileName <> '') and (CurrentTarget.State = rsPaused);
    332342  AProgramRunToCursor.Enabled := (tcRunToCursor in CurrentTarget.Capabilities) and
    333     (ProjectFileName <> '') and (CurrentTarget.State = rsPaused);
     343    (ProjectFileName <> '') and ((CurrentTarget.State = rsPaused) or (CurrentTarget.State = rsStopped));
    334344  AProgramStepOver.Enabled := (tcStepOver in CurrentTarget.Capabilities) and
    335     (ProjectFileName <> '') and (CurrentTarget.State = rsPaused);
     345    (ProjectFileName <> '') and ((CurrentTarget.State = rsPaused) or (CurrentTarget.State = rsStopped));
    336346  AProgramShowExecutionPoint.Enabled := (tcPause in CurrentTarget.Capabilities) and
    337347    (ProjectFileName <> '') and (CurrentTarget.State = rsPaused);
     
    339349  AShowTargetPosition.Enabled := CurrentTarget.Compiled;
    340350  UpdateStatusBar;
    341   UpdateTargetList;
    342351end;
    343352
     
    364373procedure TMainForm.FormCreate(Sender: TObject);
    365374begin
    366   BreakPoints := TListInteger.Create;
    367375  Targets := TTargetList.Create;
    368376  Targets.Add(TTargetInterpretter.Create);
     
    382390  LastOpenedList.Free;
    383391  Targets.Free;
    384   BreakPoints.Free;
    385392end;
    386393
     
    391398  if CurrentTarget is TTargetInterpretter then
    392399    TTargetInterpretter(CurrentTarget).Input := InterpreterForm.MemoInput.Lines.Text;
    393   CurrentTarget.SourceCode := MemoSource.Text;
    394400  if not CurrentTarget.Compiled then AProgramCompile.Execute;
    395401  CurrentTarget.Run;
     
    521527
    522528procedure TMainForm.ABreakpointToggleExecute(Sender: TObject);
    523 begin
    524   //BreakPoints.Add();
     529var
     530  DebugStep: TDebugStep;
     531  BreakPoint: TBreakPoint;
     532begin
     533  DebugStep := CurrentTarget.DebugSteps.SearchBySourcePos(MemoSource.SelStart);
     534  if Assigned(DebugStep) then begin
     535    BreakPoint := CurrentTarget.BreakPoints.SearchByTargetPos(DebugStep.TargetPosition);
     536    if Assigned(BreakPoint) then
     537      CurrentTarget.BreakPoints.Delete(CurrentTarget.BreakPoints.IndexOf(BreakPoint))
     538      else CurrentTarget.BreakPoints.AddItem(DebugStep.TargetPosition);
     539  end;
    525540end;
    526541
    527542procedure TMainForm.AProgramPauseExecute(Sender: TObject);
    528543begin
    529   CurrentTarget.Pause
     544  CurrentTarget.Pause;
    530545end;
    531546
     
    535550begin
    536551  DebugStep := CurrentTarget.DebugSteps.SearchBySourcePos(MemoSource.SelStart);
    537   CurrentTarget.RunToCursor(DebugStep.TargetPosition);
     552  if CurrentTarget.State = rsStopped then begin
     553    if not CurrentTarget.Compiled then AProgramCompile.Execute;
     554    CurrentTarget.BreakPoints.SetSystem(DebugStep.TargetPosition);
     555    AProgramRun.Execute;
     556  end else CurrentTarget.RunToCursor(DebugStep.TargetPosition);
    538557end;
    539558
     
    545564  MemoSource.SelStart := DebugStep.SourcePosition;
    546565  MemoTarget.SelStart := DebugStep.TargetPosition;
     566  if PageControl1.TabIndex = 0 then MemoSource.SetFocus;
     567  if PageControl1.TabIndex = 1 then MemoTarget.SetFocus;
    547568end;
    548569
    549570procedure TMainForm.AProgramStepIntoExecute(Sender: TObject);
    550571begin
    551   CurrentTarget.StepInto;
     572  if CurrentTarget.State = rsStopped then begin
     573    if not CurrentTarget.Compiled then AProgramCompile.Execute;
     574    CurrentTarget.BreakPoints.SetSystem(TDebugStep(CurrentTarget.DebugSteps.First).TargetPosition);
     575    AProgramRun.Execute;
     576  end else CurrentTarget.StepInto;
    552577end;
    553578
     
    559584procedure TMainForm.AProgramStepOverExecute(Sender: TObject);
    560585begin
    561   CurrentTarget.StepOver;
     586  if CurrentTarget.State = rsStopped then begin
     587    if not CurrentTarget.Compiled then AProgramCompile.Execute;
     588    CurrentTarget.BreakPoints.SetSystem(TDebugStep(CurrentTarget.DebugSteps.First).TargetPosition);
     589    AProgramRun.Execute;
     590  end else CurrentTarget.StepOver;
    562591end;
    563592
Note: See TracChangeset for help on using the changeset viewer.