anchor.diff:        // 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;
  
positive.code: /// </returns>
  function GetAddressInfo(Address: Pointer; out Info: TAddressInfo; const Mask: TAddressInfoMask = aimNone): Boolean;
  
  {$ENDREGION 'PublicFunctions'}
  // ------------------------------------------------------------------------------------
  {$REGION 'MiscFunctions'}
  
negative.code:   P: PDWORD;
    ExportSize: DWORD;
    nFunctions: DWORD;
    nNames: DWORD;
    I: Integer;
  begin
    NtHeaders := PeMapImageNtHeaders(Pointer(FModule.ModuleHandle));
    ExportSize := NtHeaders^.OptionalHeader.DataDirectory[IMAGE_DIRECTORY_ENTRY_EXPORT].Size;
  