anchor.diff:    private
       FModulesList: TList;
       function GetModuleFromAddress(Address: Pointer): TModule;
  +    function GetModuleFromModuleHandle(ModuleHandle: THandle; RegisterNoExists: Boolean): TModule;
     protected
       function AddModule(ModuleHandle: THandle): TModule;
     public
  
positive.code:     if Result.ModuleHandle = ModuleHandle then
        Exit;
    end;
    Result := AddModule(ModuleHandle);
  end;
  
  {$ENDREGION 'DebugInfo'}
  
negative.code:       // Do nothing.
      end;
      Result := False;
    finally
      TMonitor.Exit(GlobalLock);
    end;
  end;
  
  function GetSymbolAddress(ModuleHandle: THandle; const UnitName, SymbolName: string): Pointer;
  var
    Module: TModule;
  begin
    Result := nil;
    if ModuleHandle = 0 then
      ModuleHandle := GetModuleHandle(nil);
    TMonitor.Enter(GlobalLock);
    try
      NeedGlobalModules;
      Module := GlobalModules.GetModuleFromModuleHandle(ModuleHandle, True);
      if Assigned(Module) then
        Result := Module.DebugInfo.GetSymbolAddress(UnitName, SymbolName);
    finally
      TMonitor.Exit(GlobalLock);
    end;
  