anchor.diff:  
   function TDbgMain.FindProcess(processID: TDbgProcessID): TDbgProcess; 
   var
  -  i : integer;
  -begin
  -  for i:=0 to ProcessCount-1 do 
  -    if Process[i].ID=processID then begin
  -      Result:=Process[i];
  +  i: integer;
  +begin
  +  for i := 0 to ProcessCount-1 do
  +  begin
  +    if Process[i].ID = processID then
  +    begin
  +      Result := Process[i];
         Exit;
       end;
  -  Result:=nil;
  +  end;
  +  Result := nil;
   end;
   
   function TDbgMain.FindThread(processID: TDbgProcessID; ThreadID: TDbgThreadID): TDbgThread; 
  
positive.code: 
  constructor TDbgProcess.Create(AOwner: TDbgMain; AProcessID: TDbgProcessID); 
  var
    i     : Integer;
    thrid : TDbgThreadID;
  begin
    inherited Create;
    
    fOwner:=AOwner;
    fID := AProcessID;
    fThreads:=TList.Create;
    fBreaks:=TList.Create;
  
    {filling existing threads}
    for i:=0 to DbgTarget.GetThreadsCount(fID) - 1 do begin
      thrid:=DbgTarget.GetThreadID(fID, i);
      AddThread(thrid);
    end;
  end;
  
negative.code:   
    TDbgHandleEvent = procedure (const Event: TDbgEvent; var EventHandled: THandleState) of object;
  
  
    { Main debugging class than manages multiple processes. }
    TDbgMain = class(TObject)
    private
      fTarget     : TDbgTarget;
      fProcList   : TFPList;
      fOwnTarget  : Boolean;
      //the list of the stepper processes, for multi-process debugging
      fSteppers   : TFPList;
      fStepper    : TDbgProcess; // the process that must make a SINGLE step in SINGLE thread
      fStepThread : TDbgThreadID;
    protected
      function    DoAddProcess(AProcessID: TDbgProcessID): TDbgProcess;
      procedure   DoRemoveProcess(AProcessID: TDbgProcessID);
      function    GetProcessCount: Integer;
      function    GetProcess(i: Integer): TDbgProcess;
      procedure   UpdateProcThreadState;
      procedure   DoHandleEvent(Event: TDbgEvent; var ReportToUser: Boolean);
    public
      constructor Create(ATarget: TDbgTarget; AProcessID: TDbgProcessID; OwnTarget: Boolean = False);
      destructor  Destroy; override;
      function    WaitNextEvent(var Event: TDbgEvent): Boolean;
      function    FindProcess(processID: TDbgProcessID): TDbgProcess;
      function    FindThread(processID: TDbgProcessID; ThreadID: TDbgThreadID): TDbgThread;
      function    CPU: TCPUCode;
      procedure   Terminate; //terminates all processes
      property    ProcessCount: Integer read GetProcessCount;
      property    Process[i: Integer]: TDbgProcess read GetProcess;
    end;
    
  // utility function
  