1 write to _target
Microsoft.Diagnostics.DataContractReader.Legacy (1)
SOSDacImpl.cs (1)
69_target = target;
537 references to _target
Microsoft.Diagnostics.DataContractReader.Legacy (537)
SOSDacImpl.cs (494)
71() => _target.ReadPointer(_target.ReadGlobalPointer(Constants.Globals.StringMethodTable))); 74() => _target.ReadPointer(_target.ReadGlobalPointer(Constants.Globals.ObjectMethodTable))); 129TargetPointer systemDomainPointer = _target.ReadGlobalPointer(Constants.Globals.SystemDomain); 130ClrDataAddress systemDomain = _target.ReadPointer(systemDomainPointer).ToClrDataAddress(_target); 131Contracts.ILoader loader = _target.Contracts.Loader; 133data->pHighFrequencyHeap = loader.GetHighFrequencyHeap(globalLoaderAllocator).ToClrDataAddress(_target); 134data->pLowFrequencyHeap = loader.GetLowFrequencyHeap(globalLoaderAllocator).ToClrDataAddress(_target); 135data->pStubHeap = loader.GetStubHeap(globalLoaderAllocator).ToClrDataAddress(_target); 139TargetPointer pAppDomain = addr.ToTargetPointer(_target); 140data->dwId = _target.ReadGlobal<uint>(Constants.Globals.DefaultADID); 196TargetPointer appDomainPointer = _target.ReadGlobalPointer(Constants.Globals.AppDomain); 197TargetPointer appDomain = _target.ReadPointer(appDomainPointer); 201values[0] = appDomain.ToClrDataAddress(_target); 235ILoader loader = _target.Contracts.Loader; 236TargetPointer systemDomainPtr = _target.ReadGlobalPointer(Constants.Globals.SystemDomain); 237ClrDataAddress systemDomain = _target.ReadPointer(systemDomainPtr).ToClrDataAddress(_target); 311TargetPointer systemDomainPtr = _target.ReadGlobalPointer(Constants.Globals.SystemDomain); 312appDomainStoreData->systemDomain = _target.ReadPointer(systemDomainPtr).ToClrDataAddress(_target); 313TargetPointer appDomainPtr = _target.ReadGlobalPointer(Constants.Globals.AppDomain); 314appDomainStoreData->DomainCount = _target.ReadPointer(appDomainPtr) != 0 ? 1 : 0; 366TargetPointer ppAppDomain = _target.ReadGlobalPointer(Constants.Globals.AppDomain); 367TargetPointer pAppDomain = _target.ReadPointer(ppAppDomain); 368data->ParentDomain = pAppDomain.ToClrDataAddress(_target); 370ILoader loader = _target.Contracts.Loader; 371Contracts.ModuleHandle moduleHandle = loader.GetModuleHandleFromAssemblyPtr(assembly.ToTargetPointer(_target)); 417TargetPointer appDomain = addr.ToTargetPointer(_target); 418TargetPointer systemDomainPtr = _target.ReadGlobalPointer(Constants.Globals.SystemDomain); 419ClrDataAddress systemDomain = _target.ReadPointer(systemDomainPtr).ToClrDataAddress(_target); 424ILoader loader = _target.Contracts.Loader; 439values[n++] = loader.GetAssembly(module).ToClrDataAddress(_target); 501TargetPointer addr = assembly.ToTargetPointer(_target); 502Contracts.ILoader loader = _target.Contracts.Loader; 505modules[0] = modulePointer.ToClrDataAddress(_target); 545Contracts.ILoader contract = _target.Contracts.Loader; 546Contracts.ModuleHandle handle = contract.GetModuleHandleFromAssemblyPtr(assembly.ToTargetPointer(_target)); 595Contracts.IBuiltInCOM contract = _target.Contracts.BuiltInCOM; 597TargetPointer ccwPtr = contract.GetCCWFromInterfacePointer(ccw.ToTargetPointer(_target)); 599ccwPtr = ccw.ToTargetPointer(_target); 607data->outerIUnknown = sccwData.OuterIUnknown.ToClrDataAddress(_target); 609data->handle = handle.ToClrDataAddress(_target); 612data->managedObject = _target.ReadPointer(handle).ToClrDataAddress(_target); 614data->ccwAddress = ccwPtr.ToClrDataAddress(_target); 666Contracts.IBuiltInCOM builtInCOMContract = _target.Contracts.BuiltInCOM; // E_NOTIMPL if contract is not present 669TargetPointer startCCW = builtInCOMContract.GetCCWFromInterfacePointer(ccw.ToTargetPointer(_target)); 671startCCW = ccw.ToTargetPointer(_target); 696interfaces[itemIndex].methodTable = item.MethodTable.ToClrDataAddress(_target); 697interfaces[itemIndex].interfacePtr = item.InterfacePointerAddress.ToClrDataAddress(_target); 741Contracts.IThread threadContract = _target.Contracts.Thread; 745if (_target.Contracts.RuntimeInfo.GetTargetOperatingSystem() != RuntimeInfoOperatingSystem.Windows) 751buckets = threadContract.GetWatsonBuckets(thread.ToTargetPointer(_target)); 770int sizeOfGenericModeBlock = (int)_target.ReadGlobal<uint>(Constants.Globals.SizeOfGenericModeBlock); 794IExecutionManager eman = _target.Contracts.ExecutionManager; 795IGCInfo gcInfo = _target.Contracts.GCInfo; 797TargetCodePointer targetCodePointer = ip.ToTargetCodePointer(_target); 803data->MethodDescPtr = methodDesc.ToClrDataAddress(_target); 814data->MethodDescPtr = eman.GetMethodDesc(cbh).ToClrDataAddress(_target); 826data->GCInfo = pGcInfo.ToClrDataAddress(_target); 842data->ColdRegionStart = coldRegionStart.ToClrDataAddress(_target); 879IExecutionManager em = _target.Contracts.ExecutionManager; 882Debug.Assert(jitManager.ToTargetPointer(_target) == jitManagerInfo.ManagerAddress); 896codeHeaps[i].LoaderHeap = loader.LoaderHeapAddress.ToClrDataAddress(_target); 900codeHeaps[i].baseAddr = host.BaseAddress.ToClrDataAddress(_target); 901codeHeaps[i].currentAddr = host.CurrentAddress.ToClrDataAddress(_target); 1080IRuntimeTypeSystem rtsContract = _target.Contracts.RuntimeTypeSystem; 1081IEcmaMetadata ecmaMetadataContract = _target.Contracts.EcmaMetadata; 1082ISignature signatureContract = _target.Contracts.Signature; 1084TargetPointer fieldDescTargetPtr = fieldDesc.ToTargetPointer(_target); 1095Contracts.ModuleHandle moduleHandle = _target.Contracts.Loader.GetModuleHandleFromModulePtr(modulePtr); 1109data->MTOfType = rtsContract.GetPrimitiveType(CorElementType.U).Address.ToClrDataAddress(_target); 1112data->MTOfType = foundTypeHandle.Address.ToClrDataAddress(_target); 1119data->MTOfType = paramTypeHandle.Address.ToClrDataAddress(_target); 1124data->MTOfType = foundTypeHandle.Address.ToClrDataAddress(_target); 1163data->ModuleOfType = modulePtr.ToClrDataAddress(_target); 1165data->MTOfEnclosingClass = ctx.Address.ToClrDataAddress(_target); 1170data->NextField = fieldDescTargetPtr + _target.GetTypeInfo(DataType.FieldDesc).Size!.Value; 1209IStackWalk stackWalk = _target.Contracts.StackWalk; 1259IGC gc = _target.Contracts.GC; 1303IGC gc = _target.Contracts.GC; 1324heaps[i] = gcHeaps[(int)i].ToClrDataAddress(_target); 1368IGC gc = _target.Contracts.GC; 1375GCHeapData heapData = gc.GetHeapData(heap.ToTargetPointer(_target)); 1380details->lowest_address = minAddress.ToClrDataAddress(_target); 1381details->highest_address = maxAddress.ToClrDataAddress(_target); 1386details->mark_array = heapData.MarkArray.ToClrDataAddress(_target); 1387details->next_sweep_obj = heapData.NextSweepObject.ToClrDataAddress(_target); 1388details->background_saved_lowest_address = heapData.BackGroundSavedMinAddress.ToClrDataAddress(_target); 1389details->background_saved_highest_address = heapData.BackGroundSavedMaxAddress.ToClrDataAddress(_target); 1402details->alloc_allocated = heapData.AllocAllocated.ToClrDataAddress(_target); 1403details->ephemeral_heap_segment = heapData.EphemeralHeapSegment.ToClrDataAddress(_target); 1404details->card_table = heapData.CardTable.ToClrDataAddress(_target); 1417details->saved_sweep_ephemeral_seg = heapData.SavedSweepEphemeralSegment.ToClrDataAddress(_target); 1418details->saved_sweep_ephemeral_start = heapData.SavedSweepEphemeralStart.ToClrDataAddress(_target); 1431details->generation_table[i].start_segment = genData.StartSegment.ToClrDataAddress(_target); 1432details->generation_table[i].allocation_start = genData.AllocationStart.ToClrDataAddress(_target); 1433details->generation_table[i].allocContextPtr = genData.AllocationContextPointer.ToClrDataAddress(_target); 1434details->generation_table[i].allocContextLimit = genData.AllocationContextLimit.ToClrDataAddress(_target); 1439details->finalization_fill_pointers[i] = heapData.FillPointers[i].ToClrDataAddress(_target); 1501IGC gc = _target.Contracts.GC; 1513details->lowest_address = minAddress.ToClrDataAddress(_target); 1514details->highest_address = maxAddress.ToClrDataAddress(_target); 1519details->mark_array = heapData.MarkArray.ToClrDataAddress(_target); 1520details->next_sweep_obj = heapData.NextSweepObject.ToClrDataAddress(_target); 1521details->background_saved_lowest_address = heapData.BackGroundSavedMinAddress.ToClrDataAddress(_target); 1522details->background_saved_highest_address = heapData.BackGroundSavedMaxAddress.ToClrDataAddress(_target); 1535details->alloc_allocated = heapData.AllocAllocated.ToClrDataAddress(_target); 1536details->ephemeral_heap_segment = heapData.EphemeralHeapSegment.ToClrDataAddress(_target); 1537details->card_table = heapData.CardTable.ToClrDataAddress(_target); 1550details->saved_sweep_ephemeral_seg = heapData.SavedSweepEphemeralSegment.ToClrDataAddress(_target); 1551details->saved_sweep_ephemeral_start = heapData.SavedSweepEphemeralStart.ToClrDataAddress(_target); 1564details->generation_table[i].start_segment = genData.StartSegment.ToClrDataAddress(_target); 1565details->generation_table[i].allocation_start = genData.AllocationStart.ToClrDataAddress(_target); 1566details->generation_table[i].allocContextPtr = genData.AllocationContextPointer.ToClrDataAddress(_target); 1567details->generation_table[i].allocContextLimit = genData.AllocationContextLimit.ToClrDataAddress(_target); 1572details->finalization_fill_pointers[i] = heapData.FillPointers[i].ToClrDataAddress(_target); 1852IGC gc = _target.Contracts.GC; 1864ppHandleEnum.Interface = new SOSHandleEnum(_target, supportedHandleTypes, legacyHandleEnum); 1889IGC gc = _target.Contracts.GC; 1891ppHandleEnum.Interface = new SOSHandleEnum(_target, handleTypes, legacyHandleEnum); 1909IGC gc = _target.Contracts.GC; 1916GCHeapData heapData = gc.GetHeapData(addr.ToTargetPointer(_target)); 1919data->internal_root_array = heapData.InternalRootArray.ToClrDataAddress(_target); 1954IGC gc = _target.Contracts.GC; 1965data->internal_root_array = heapData.InternalRootArray.ToClrDataAddress(_target); 2000IGC gc = _target.Contracts.GC; 2002GCHeapSegmentData segmentData = gc.GetHeapSegmentData(seg.ToTargetPointer(_target)); 2005data->allocated = segmentData.Allocated.ToClrDataAddress(_target); 2006data->committed = segmentData.Committed.ToClrDataAddress(_target); 2007data->reserved = segmentData.Reserved.ToClrDataAddress(_target); 2008data->used = segmentData.Used.ToClrDataAddress(_target); 2009data->mem = segmentData.Mem.ToClrDataAddress(_target); 2010data->next = segmentData.Next.ToClrDataAddress(_target); 2011data->gc_heap = segmentData.Heap.ToClrDataAddress(_target); 2013data->background_allocated = segmentData.BackgroundAllocated.ToClrDataAddress(_target); 2021if (seg.ToTargetPointer(_target) == heapData.EphemeralHeapSegment) 2023data->highAllocMark = heapData.AllocAllocated.ToClrDataAddress(_target); 2084Contracts.ILoader loader = _target.Contracts.Loader; 2085TargetPointer module = moduleAddr.ToTargetPointer(_target); 2088*il = loader.GetILAddr(peAssemblyPtr, rva).ToClrDataAddress(_target); 2113if (!_target.Contracts.AuxiliarySymbols.TryGetAuxiliarySymbolName(ip.ToTargetPointer(_target), out string? symbolName)) 2158Contracts.JitManagerInfo jitManagerInfo = _target.Contracts.ExecutionManager.GetEEJitManagerInfo(); 2159managers->managerAddr = jitManagerInfo.ManagerAddress.ToClrDataAddress(_target); 2161managers->ptrHeapList = jitManagerInfo.HeapListAddress.ToClrDataAddress(_target); 2204=> 0x48 == _target.Read<byte>(pThunk) && 22050xB8 == _target.Read<byte>(pThunk + 1) && 22060xFF == _target.Read<byte>(pThunk + 10) && 22070xE0 == _target.Read<byte>(pThunk + 11); 2213return _target.ReadPointer(pThunk + 2); 2224if (_target.Contracts.RuntimeInfo.GetTargetArchitecture() != RuntimeInfoArchitecture.X64) 2227IPlatformAgnosticContext context = IPlatformAgnosticContext.GetContextForPlatform(_target); 2236*targetIP = DecodeJump64(pThunk).ToClrDataAddress(_target); 2279Contracts.IRuntimeTypeSystem rtsContract = _target.Contracts.RuntimeTypeSystem; 2281TargetPointer methodDesc = addr.ToTargetPointer(_target); 2283Contracts.ICodeVersions nativeCodeContract = _target.Contracts.CodeVersions; 2284Contracts.IReJIT rejitContract = _target.Contracts.ReJIT; 2299requestedNativeCodeVersion = nativeCodeContract.GetNativeCodeVersionForIP(ip.ToTargetCodePointer(_target)); 2318data->NativeCodeAddr = _target.Contracts.PrecodeStubs.GetInterpreterCodeFromInterpreterPrecodeIfPresent(nativeCodeAddr).ToAddress(_target).ToClrDataAddress(_target); 2327data->AddressOfNativeCodeSlot = rtsContract.GetAddressOfNativeCodeSlot(methodDescHandle).ToClrDataAddress(_target); 2336data->MethodTablePtr = methodTableAddr.ToClrDataAddress(_target); 2338data->ModulePtr = rtsContract.GetModule(typeHandle).ToClrDataAddress(_target); 2377int cJittedRejitVersions = rejitContract.GetRejitIds(_target, methodDescHandle.Address).Count(); 2396List<TargetNUInt> reJitIds = rejitContract.GetRejitIds(_target, methodDescHandle.Address).ToList(); 2439data->GCStressCodeCopy = nativeCodeContract.GetGCStressCodeCopy(requestedNativeCodeVersion).ToClrDataAddress(_target); 2524ICodeVersions cv = _target.Contracts.CodeVersions; 2525IReJIT rejit = _target.Contracts.ReJIT; 2531pReJitData->NativeCodeAddr = _target.Contracts.PrecodeStubs.GetInterpreterCodeFromInterpreterPrecodeIfPresent(nativeCode).Value; 2567Contracts.ILoader loader = _target.Contracts.Loader; 2568TargetPointer module = moduleAddr.ToTargetPointer(_target); 2574*methodDesc = loader.GetModuleLookupMapElement(lookupTables.FieldDefToDesc, token, out var _).ToClrDataAddress(_target); 2577*methodDesc = loader.GetModuleLookupMapElement(lookupTables.MethodDefToDesc, token, out var _).ToClrDataAddress(_target); 2580*methodDesc = loader.GetModuleLookupMapElement(lookupTables.TypeDefToMethodTable, token, out var _).ToClrDataAddress(_target); 2583*methodDesc = loader.GetModuleLookupMapElement(lookupTables.TypeRefToMethodTable, token, out var _).ToClrDataAddress(_target); 2616TargetPointer methodDesc = addr.ToTargetPointer(_target); 2618Contracts.IRuntimeTypeSystem rtsContract = _target.Contracts.RuntimeTypeSystem; 2622TypeNameBuilder.AppendMethodInternal(_target, stringBuilder, methodDescHandle, TypeNameFormat.FormatSignature | TypeNameFormat.FormatNamespace | TypeNameFormat.FormatFullInst); 2632TypeNameBuilder.AppendMethodInternal(_target, stringBuilder, methodDescHandle, TypeNameFormat.FormatNamespace | TypeNameFormat.FormatFullInst); 2637string? fallbackNameString = _target.Contracts.DacStreams.StringFromEEAddress(methodDesc); 2647Contracts.ModuleHandle module = _target.Contracts.Loader.GetModuleHandleFromModulePtr(modulePtr); 2648string modulePath = _target.Contracts.Loader.GetPath(module); 2650char directorySeparator = (char)_target.ReadGlobal<byte>(Constants.Globals.DirectorySeparator); 2704Contracts.IStackWalk stackWalkContract = _target.Contracts.StackWalk; 2705TargetPointer methodDescPtr = stackWalkContract.GetMethodDescPtr(frameAddr.ToTargetPointer(_target)); 2709_target.Contracts.RuntimeTypeSystem.GetMethodDescHandle(methodDescPtr); // validation 2710*ppMD = methodDescPtr.ToClrDataAddress(_target); 2739IExecutionManager executionManager = _target.Contracts.ExecutionManager; 2740IRuntimeTypeSystem rts = _target.Contracts.RuntimeTypeSystem; 2742CodeBlockHandle? handle = executionManager.GetCodeBlockHandle(ip.ToTargetCodePointer(_target)); 2754*ppMD = methodDescAddr.ToClrDataAddress(_target); 2792_target.Contracts.RuntimeTypeSystem.GetMethodDescHandle(methodDesc.ToTargetPointer(_target)); 2812Contracts.IRuntimeTypeSystem contract = _target.Contracts.RuntimeTypeSystem; 2813Contracts.TypeHandle methodTable = contract.GetTypeHandle(mt.ToTargetPointer(_target)); 2830result.module = contract.GetModule(methodTable).ToClrDataAddress(_target); 2832result.klass = contract.GetCanonicalMethodTable(methodTable).ToClrDataAddress(_target); 2833result.parentMethodTable = contract.GetParentMethodTable(methodTable).ToClrDataAddress(_target); 2884TargetPointer mtAddress = mt.ToTargetPointer(_target); 2885Contracts.IRuntimeTypeSystem rtsContract = _target.Contracts.RuntimeTypeSystem; 2887data->FirstField = rtsContract.GetFieldDescList(typeHandle).ToClrDataAddress(_target); 2925Contracts.IRuntimeTypeSystem contract = _target.Contracts.RuntimeTypeSystem; 2926Contracts.TypeHandle methodTableHandle = contract.GetTypeHandle(eeClassReallyCanonMT.ToTargetPointer(_target)); 2927*value = methodTableHandle.Address.ToClrDataAddress(_target); 2954Contracts.IRuntimeTypeSystem typeSystemContract = _target.Contracts.RuntimeTypeSystem; 2955Contracts.ILoader loader = _target.Contracts.Loader; 2956Contracts.TypeHandle methodTableHandle = typeSystemContract.GetTypeHandle(mt.ToTargetPointer(_target, overrideCheck: true)); 2974TypeNameBuilder.AppendType(_target, methodTableName, methodTableHandle, TypeNameFormat.FormatNamespace | TypeNameFormat.FormatFullInst); 2978string? fallbackName = _target.Contracts.DacStreams.StringFromEEAddress(mt.ToTargetPointer(_target)); 3020IRuntimeTypeSystem rts = _target.Contracts.RuntimeTypeSystem; 3027TargetPointer methodTable = mt.ToTargetPointer(_target); 3034*value = rts.GetSlot(methodTableHandle, slot).ToClrDataAddress(_target); 3048*value = rts.GetMethodEntryPointIfExists(mdHandle).ToClrDataAddress(_target); 3095_target.Contracts.RuntimeTypeSystem.GetTypeHandle(mt.ToTargetPointer(_target)); 3120mod.Interface = new ClrDataModule(addr.ToTargetPointer(_target), _target, legacyModule); 3132Contracts.ILoader contract = _target.Contracts.Loader; 3133Contracts.ModuleHandle handle = contract.GetModuleHandleFromModulePtr(moduleAddr.ToTargetPointer(_target)); 3137data->Assembly = contract.GetAssembly(handle).ToClrDataAddress(_target); 3145data->ilBase = contract.GetILBase(handle).ToClrDataAddress(_target); 3149TargetSpan readOnlyMetadata = _target.Contracts.EcmaMetadata.GetReadOnlyMetadataAddress(handle); 3161data->LoaderAllocator = contract.GetLoaderAllocator(handle).ToClrDataAddress(_target); 3163Target.TypeInfo lookupMapTypeInfo = _target.GetTypeInfo(DataType.ModuleLookupMap); 3167data->FieldDefToDescMap = _target.ReadPointer(tables.FieldDefToDesc + tableDataOffset).ToClrDataAddress(_target); 3168data->ManifestModuleReferencesMap = _target.ReadPointer(tables.ManifestModuleReferences + tableDataOffset).ToClrDataAddress(_target); 3169data->MemberRefToDescMap = _target.ReadPointer(tables.MemberRefToDesc + tableDataOffset).ToClrDataAddress(_target); 3170data->MethodDefToDescMap = _target.ReadPointer(tables.MethodDefToDesc + tableDataOffset).ToClrDataAddress(_target); 3171data->TypeDefToMethodTableMap = _target.ReadPointer(tables.TypeDefToMethodTable + tableDataOffset).ToClrDataAddress(_target); 3172data->TypeRefToMethodTableMap = _target.ReadPointer(tables.TypeRefToMethodTable + tableDataOffset).ToClrDataAddress(_target); 3226Contracts.IException contract = _target.Contracts.Exception; 3228exception.ToTargetPointer(_target), 3231*exceptionObject = exceptionObjectLocal.ToClrDataAddress(_target); 3264Contracts.IObject objectContract = _target.Contracts.Object; 3265Contracts.IRuntimeTypeSystem rts = _target.Contracts.RuntimeTypeSystem; 3266Contracts.ILoader loader = _target.Contracts.Loader; 3268TargetPointer mt = objectContract.GetMethodTableAddress(obj.ToTargetPointer(_target)); 3288TypeNameBuilder.AppendType(_target, classNameBuilder, typeHandle, TypeNameFormat.FormatNamespace | TypeNameFormat.FormatFullInst); 3292string? fallbackName = _target.Contracts.DacStreams.StringFromEEAddress(mt); 3336Contracts.IObject objectContract = _target.Contracts.Object; 3337Contracts.IRuntimeTypeSystem runtimeTypeSystemContract = _target.Contracts.RuntimeTypeSystem; 3339TargetPointer objPtr = objAddr.ToTargetPointer(_target); 3343data->MethodTable = mt.ToClrDataAddress(_target); 3353Target.TypeInfo arrayTypeInfo = _target.GetTypeInfo(DataType.Array); 3354ulong numComponentsOffset = (ulong)_target.GetTypeInfo(DataType.Array).Fields[Constants.FieldNames.Array.NumComponents].Offset; 3355data->Size += _target.Read<uint>(objAddr + numComponentsOffset) * data->dwComponentSize; 3374data->ArrayDataPtr = arrayData.ToClrDataAddress(_target); 3376data->ArrayBoundsPtr = boundsStart.ToClrDataAddress(_target); 3377data->ArrayLowerBoundsPtr = lowerBounds.ToClrDataAddress(_target); 3399if (_target.ReadGlobal<byte>(Constants.Globals.FeatureCOMInterop) != 0 3446Contracts.IObject contract = _target.Contracts.Object; 3447string str = contract.GetStringValue(obj.ToTargetPointer(_target)); 3485IGC gc = _target.Contracts.GC; 3492GCOomData oomData = gc.GetOomData(oomAddr.ToTargetPointer(_target)); 3536IGC gc = _target.Contracts.GC; 3585Contracts.ILoader contract = _target.Contracts.Loader; 3586Contracts.ModuleHandle handle = contract.GetModuleHandleFromModulePtr(addr.ToTargetPointer(_target)); 3591*peBase = contract.GetILBase(handle).ToClrDataAddress(_target); 3624Contracts.ILoader contract = _target.Contracts.Loader; 3625Contracts.ModuleHandle handle = contract.GetModuleHandleFromModulePtr(addr.ToTargetPointer(_target)); 3687IBuiltInCOM builtInCom = _target.Contracts.BuiltInCOM; // E_NOTIMPL if not defined (non-Windows) 3689TargetPointer rcwPtr = addr.ToTargetPointer(_target); 3692data->identityPointer = rcwData.IdentityPointer.ToClrDataAddress(_target); 3693data->unknownPointer = rcwData.UnknownPointer.ToClrDataAddress(_target); 3694data->managedObject = rcwData.ManagedObject.ToClrDataAddress(_target); 3695data->vtablePtr = rcwData.VTablePtr.ToClrDataAddress(_target); 3696data->creatorThread = rcwData.CreatorThread.ToClrDataAddress(_target); 3697data->ctxCookie = rcwData.CtxCookie.ToClrDataAddress(_target); 3747TargetPointer rcwPtr = rcw.ToTargetPointer(_target); 3748IBuiltInCOM builtInCom = _target.Contracts.BuiltInCOM; // E_NOTIMPL if not defined (non-Windows) 3779interfaces[itemIndex].methodTable = methodTable.ToClrDataAddress(_target); 3780interfaces[itemIndex].interfacePtr = unknown.ToClrDataAddress(_target); 3781interfaces[itemIndex].comContext = ctxCookie.ToClrDataAddress(_target); 3831string[] regs = _target.Contracts.RuntimeInfo.GetTargetArchitecture() switch 3947Contracts.IThread contract = _target.Contracts.Thread; 3949contract.GetStackLimitData(threadPtr.ToTargetPointer(_target), out stackBase, out stackLimit, out frameAddress); 3952*lower = stackBase.ToClrDataAddress(_target); 3955*upper = stackLimit.ToClrDataAddress(_target); 3958*fp = frameAddress.ToClrDataAddress(_target); 4050IThread threadContract = _target.Contracts.Thread; 4051IStackWalk stackWalkContract = _target.Contracts.StackWalk; 4114ulong stressLogAddress = _target.ReadGlobalPointer(Constants.Globals.StressLog); 4137ISyncBlock syncBlockContract = _target.Contracts.SyncBlock; 4145syncBlockPtr = addr.ToTargetPointer(_target); 4150data->SyncBlockPointer = syncBlockPtr.ToClrDataAddress(_target); 4151data->nextSyncBlock = syncBlockContract.GetNextSyncBlock(syncBlockPtr).ToClrDataAddress(_target); 4154data->blockRCW = rcw.ToClrDataAddress(_target); 4155data->blockClassFactory = ccf.ToClrDataAddress(_target); 4156data->blockCCW = ccw.ToClrDataAddress(_target); 4198ISyncBlock syncBlock = _target.Contracts.SyncBlock; 4207data->Object = obj.ToClrDataAddress(_target); 4210data->SyncBlockPointer = syncBlockAddr.ToClrDataAddress(_target); 4222IThread thread = _target.Contracts.Thread; 4224data->HoldingThread = threadPtr.ToClrDataAddress(_target); 4227TargetPointer appDomainPointer = _target.ReadGlobalPointer(Constants.Globals.AppDomain); 4228TargetPointer appDomain = _target.ReadPointer(appDomainPointer); 4229data->appDomainPtr = appDomain.ToClrDataAddress(_target); 4278Contracts.IThread contract = _target.Contracts.Thread; 4279contract.GetThreadAllocContext(thread.ToTargetPointer(_target), out long allocBytes, out long allocBytesLoh); 4311Contracts.IThread contract = _target.Contracts.Thread; 4312Contracts.ThreadData threadData = contract.GetThreadData(thread.ToTargetPointer(_target)); 4317data->allocContextPtr = threadData.AllocContextPointer.ToClrDataAddress(_target); 4318data->allocContextLimit = threadData.AllocContextLimit.ToClrDataAddress(_target); 4321TargetPointer appDomainPointer = _target.ReadGlobalPointer(Constants.Globals.AppDomain); 4322TargetPointer appDomain = _target.ReadPointer(appDomainPointer); 4323data->context = appDomain.ToClrDataAddress(_target); 4324data->domain = appDomain.ToClrDataAddress(_target); 4327data->pFrame = threadData.Frame.ToClrDataAddress(_target); 4328data->firstNestedException = threadData.FirstNestedException.ToClrDataAddress(_target); 4330data->lastThrownObjectHandle = threadData.LastThrownObjectHandle.ToClrDataAddress(_target); 4331data->nextThread = threadData.NextThread.ToClrDataAddress(_target); 4372TargetPointer threadPtr = _target.Contracts.Thread.IdToThread(thinLockId); 4373*pThread = threadPtr.ToClrDataAddress(_target); 4432Contracts.IThread thread = _target.Contracts.Thread; 4435data->firstThread = threadStoreData.FirstThread.ToClrDataAddress(_target); 4436data->finalizerThread = threadStoreData.FinalizerThread.ToClrDataAddress(_target); 4437data->gcThread = threadStoreData.GCThread.ToClrDataAddress(_target); 4482uint TlsIndexBase = _target.Read<uint>(_target.ReadGlobalPointer(Constants.Globals.TlsIndexBase)); 4483uint OffsetOfCurrentThreadInfo = _target.Read<uint>(_target.ReadGlobalPointer(Constants.Globals.OffsetOfCurrentThreadInfo)); 4512data->ArrayMethodTable = _target.ReadPointer( 4513_target.ReadGlobalPointer(Constants.Globals.ObjectArrayMethodTable)) 4514.ToClrDataAddress(_target); 4515data->StringMethodTable = _target.ReadPointer( 4516_target.ReadGlobalPointer(Constants.Globals.StringMethodTable)) 4517.ToClrDataAddress(_target); 4518data->ObjectMethodTable = _target.ReadPointer( 4519_target.ReadGlobalPointer(Constants.Globals.ObjectMethodTable)) 4520.ToClrDataAddress(_target); 4521data->ExceptionMethodTable = _target.ReadPointer( 4522_target.ReadGlobalPointer(Constants.Globals.ExceptionMethodTable)) 4523.ToClrDataAddress(_target); 4524data->FreeMethodTable = _target.ReadPointer( 4525_target.ReadGlobalPointer(Constants.Globals.FreeObjectMethodTable)) 4526.ToClrDataAddress(_target); 4648IExecutionManager executionManager = _target.Contracts.ExecutionManager; 4650CodeBlockHandle? handle = executionManager.GetCodeBlockHandle(ip.ToTargetCodePointer(_target)); 4674ehInfo.moduleAddr = clause.ModuleAddr is TargetPointer moduleAddr ? moduleAddr.ToClrDataAddress(_target) : 0; 4675ehInfo.mtCatch = clause.TypeHandle is TargetNUInt th ? new TargetPointer(th.Value).ToClrDataAddress(_target) : 0; 4750Contracts.ILoader loader = _target.Contracts.Loader; 4785int hr = TraverseLoaderHeapCore(loaderHeapAddr.ToTargetPointer(_target), pCallback); 4829Contracts.ILoader loader = _target.Contracts.Loader; 4830TargetPointer moduleAddrPtr = moduleAddr.ToTargetPointer(_target); 4847pCallback(index, element.ToClrDataAddress(_target).Value, token); 4857Dictionary<ulong, uint> expectedElements = elements.ToDictionary(tuple => tuple.Address.ToClrDataAddress(_target).Value, tuple => tuple.Index); 4895Contracts.IBuiltInCOM contract = _target.Contracts.BuiltInCOM; // E_NOTIMPL if not defined (non-Windows) 4896TargetPointer listPtr = cleanupListPtr.ToTargetPointer(_target); 4902info.RCW.ToClrDataAddress(_target).Value, 4903info.Context.ToClrDataAddress(_target).Value, 4904info.STAThread.ToClrDataAddress(_target).Value, 4916Dictionary<ulong, ulong> expectedElements = cleanupInfos.ToDictionary(info => info.RCW.ToClrDataAddress(_target).Value, info => info.Context.ToClrDataAddress(_target).Value); 4939Contracts.ILoader loader = _target.Contracts.Loader; 4988Contracts.IException contract = _target.Contracts.Exception; 4989Contracts.ExceptionData exceptionData = contract.GetExceptionData(objectAddress.ToTargetPointer(_target)); 4990data->Message = exceptionData.Message.ToClrDataAddress(_target); 4991data->InnerException = exceptionData.InnerException.ToClrDataAddress(_target); 4992data->StackTrace = exceptionData.StackTrace.ToClrDataAddress(_target); 4993data->WatsonBuckets = exceptionData.WatsonBuckets.ToClrDataAddress(_target); 4994data->StackTraceString = exceptionData.StackTraceString.ToClrDataAddress(_target); 4995data->RemoteStackTraceString = exceptionData.RemoteStackTraceString.ToClrDataAddress(_target); 5017if (_target.ReadGlobal<byte>(Constants.Globals.FeatureCOMInterop) == 0) 5053IGC gc = _target.Contracts.GC; 5061GCHeapData heapData = gc.GetHeapData(interestingInfoAddr.ToTargetPointer(_target)); 5095IGC gc = _target.Contracts.GC; 5201IGC gc = _target.Contracts.GC; 5250uint MaxClrNotificationArgs = _target.ReadGlobal<uint>(Constants.Globals.MaxClrNotificationArgs); 5254TargetPointer basePtr = _target.ReadGlobalPointer(Constants.Globals.ClrNotificationArguments); 5255if (_target.ReadNUInt(basePtr).Value == 0) 5260arguments[i] = _target.ReadNUInt(basePtr.Value + (ulong)(i * _target.PointerSize)).Value; 5306ILoader loader = _target.Contracts.Loader; 5307ICodeVersions codeVersions = _target.Contracts.CodeVersions; 5308IReJIT rejitContract = _target.Contracts.ReJIT; 5309TargetPointer methodDescPtr = methodDesc.ToTargetPointer(_target); 5316IRuntimeTypeSystem runtimeTypeSystemContract = _target.Contracts.RuntimeTypeSystem; 5334TargetCodePointer nativeCode = _target.Contracts.PrecodeStubs.GetInterpreterCodeFromInterpreterPrecodeIfPresent(codeVersions.GetNativeCode(nativeCodeVersionHandle)); 5335TargetPointer nativeCodeAddr = nativeCode.ToAddress(_target); 5336nativeCodeAddrs[count].nativeCodeAddr = nativeCodeAddr.ToClrDataAddress(_target); 5337nativeCodeAddrs[count].nativeCodeVersionNodePtr = nativeCodeVersionHandle.CodeVersionNodeAddress.ToClrDataAddress(_target); 5433Contracts.IRuntimeTypeSystem rtsContract = _target.Contracts.RuntimeTypeSystem; 5434ILoader loaderContract = _target.Contracts.Loader; 5435Contracts.TypeHandle typeHandle = rtsContract.GetTypeHandle(mt.ToTargetPointer(_target)); 5444data->LoaderAllocatorObjectHandle = loaderAllocatorHandle.ToClrDataAddress(_target); 5477Contracts.IReJIT rejitContract = _target.Contracts.ReJIT; 5478Contracts.ICodeVersions codeVersionsContract = _target.Contracts.CodeVersions; 5479TargetPointer methodDescPtr = methodDesc.ToTargetPointer(_target); 5517ICodeVersions cv = _target.Contracts.CodeVersions; 5518IReJIT rejitContract = _target.Contracts.ReJIT; 5519TargetPointer methodDescPtr = methodDesc.ToTargetPointer(_target); 5542pRejitData->il = cv.GetIL(ilCodeVersion).ToClrDataAddress(_target); 5544pRejitData->ilCodeVersionNodePtr = ilCodeVersion.ILCodeVersionNode.ToClrDataAddress(_target); 5581Contracts.IReJIT rejit = _target.Contracts.ReJIT; 5582Contracts.ICodeVersions cv = _target.Contracts.CodeVersions; 5583Contracts.ILoader loader = _target.Contracts.Loader; 5584Contracts.IRuntimeTypeSystem rts = _target.Contracts.RuntimeTypeSystem; 5585TargetPointer methodDescPtr = methodDesc.ToTargetPointer(_target); 5607pILData->il = il.ToClrDataAddress(_target); 5638Contracts.ILoader loader = _target.Contracts.Loader; 5639Contracts.IRuntimeTypeSystem rts = _target.Contracts.RuntimeTypeSystem; 5640Contracts.IReJIT rejit = _target.Contracts.ReJIT; 5641Contracts.ICodeVersions cv = _target.Contracts.CodeVersions; 5643TargetPointer modulePtr = mod.ToTargetPointer(_target); 5663methodDescs[*pcMethodDescs] = md.ToClrDataAddress(_target); 5709IGC gc = _target.Contracts.GC; 5744IGC gc = _target.Contracts.GC; 5764pGenerationData[i].start_segment = gen.StartSegment.ToClrDataAddress(_target); 5765pGenerationData[i].allocation_start = gen.AllocationStart.ToClrDataAddress(_target); 5766pGenerationData[i].allocContextPtr = gen.AllocationContextPointer.ToClrDataAddress(_target); 5767pGenerationData[i].allocContextLimit = gen.AllocationContextLimit.ToClrDataAddress(_target); 5813IGC gc = _target.Contracts.GC; 5832pFinalizationFillPointers[i] = heapData.FillPointers[i].ToClrDataAddress(_target); 5875IGC gc = _target.Contracts.GC; 5880GCHeapData heapData = gc.GetHeapData(heapAddr.ToTargetPointer(_target)); 5895pGenerationData[i].start_segment = gen.StartSegment.ToClrDataAddress(_target); 5896pGenerationData[i].allocation_start = gen.AllocationStart.ToClrDataAddress(_target); 5897pGenerationData[i].allocContextPtr = gen.AllocationContextPointer.ToClrDataAddress(_target); 5898pGenerationData[i].allocContextLimit = gen.AllocationContextLimit.ToClrDataAddress(_target); 5944IGC gc = _target.Contracts.GC; 5949GCHeapData heapData = gc.GetHeapData(heapAddr.ToTargetPointer(_target)); 5963pFinalizationFillPointers[i] = heapData.FillPointers[i].ToClrDataAddress(_target); 6007Contracts.IRuntimeTypeSystem rtsContract = _target.Contracts.RuntimeTypeSystem; 6008Contracts.ILoader loaderContract = _target.Contracts.Loader; 6009Contracts.TypeHandle methodTableHandle = rtsContract.GetTypeHandle(methodTable.ToTargetPointer(_target)); 6012*assemblyLoadContext = alc.ToClrDataAddress(_target); 6037int version = _target.ReadGlobal<byte>(Constants.Globals.SOSBreakingChangeVersion); 6064Contracts.IComWrappers comWrappersContract = _target.Contracts.ComWrappers; 6065TargetPointer objPtr = objAddr.ToTargetPointer(_target); 6071*rcw = rcwObj.ToClrDataAddress(_target) | _rcwMask; 6089mowList![i] = comIdentity.ToClrDataAddress(_target); 6128Contracts.IComWrappers comWrappersContract = _target.Contracts.ComWrappers; 6134TargetPointer ccwPtr = comWrappersContract.GetManagedObjectWrapperFromCCW(ccw.ToTargetPointer(_target)); 6164TargetPointer ccwPtr = ccw.ToTargetPointer(_target); 6165Contracts.IComWrappers comWrappersContract = _target.Contracts.ComWrappers; 6173*managedObject = comWrappersContract.GetComWrappersObjectFromMOW(managedObjectPtr).ToClrDataAddress(_target); 6206Contracts.IComWrappers comWrappersContract = _target.Contracts.ComWrappers; 6215TargetPointer rcwPtr = rcw.ToTargetPointer(_target) & ~_rcwMask; 6244Contracts.IComWrappers comWrappersContract = _target.Contracts.ComWrappers; 6251TargetPointer identityPtr = comWrappersContract.GetComWrappersIdentity(rcw.ToTargetPointer(_target) & ~_rcwMask); 6252*identity = identityPtr.ToClrDataAddress(_target); 6287TargetPointer objPtr = objAddr.ToTargetPointer(_target); 6288Contracts.IObject objectContract = _target.Contracts.Object; 6294Contracts.IRuntimeTypeSystem rtsContract = _target.Contracts.RuntimeTypeSystem; 6301if (_target.Contracts.TryGetContract<IObjectiveCMarshal>(out IObjectiveCMarshal? objcContract)) 6340TargetPointer objPtr = objAddr.ToTargetPointer(_target); 6341if (_target.Contracts.TryGetContract<IObjectiveCMarshal>(out IObjectiveCMarshal? objcContract)) 6346*taggedMemory = taggedMemoryPtr.ToClrDataAddress(_target); 6383Contracts.IGC gcContract = _target.Contracts.GC; 6385*allocPtr = pointer.ToClrDataAddress(_target); 6386*allocLimit = limit.ToClrDataAddress(_target); 6415int hr = TraverseLoaderHeapCore(loaderHeapAddr.ToTargetPointer(_target), pCallback); 6450Contracts.ILoader contract = _target.Contracts.Loader; 6452*pLoaderAllocator = globalLoaderAllocator.ToClrDataAddress(_target); 6512Target.TypeInfo laType = _target.GetTypeInfo(DataType.LoaderAllocator); 6513Target.TypeInfo vcsType = _target.GetTypeInfo(DataType.VirtualCallStubManager); 6584Contracts.ILoader contract = _target.Contracts.Loader; 6585IReadOnlyDictionary<LoaderAllocatorHeapType, TargetPointer> heaps = contract.GetLoaderAllocatorHeaps(loaderAllocator.ToTargetPointer(_target)); 6601? heapAddr.ToClrDataAddress(_target) 6643IReadOnlyList<GCMemoryRegionData> regions = _target.Contracts.GC.GetHandleTableMemoryRegions(); 6654ppEnum.Interface = new SOSMemoryEnum(_target, regions, legacyMemoryEnum); 6668IReadOnlyList<GCMemoryRegionData> regions = _target.Contracts.GC.GetGCBookkeepingMemoryRegions(); 6679ppEnum.Interface = new SOSMemoryEnum(_target, regions, legacyMemoryEnum); 6693IReadOnlyList<GCMemoryRegionData> regions = _target.Contracts.GC.GetGCFreeRegions(); 6704ppEnum.Interface = new SOSMemoryEnum(_target, regions, legacyMemoryEnum); 6715_target.Flush(); 6736Contracts.IRuntimeTypeSystem rtsContract = _target.Contracts.RuntimeTypeSystem; 6737Contracts.TypeHandle typeHandle = rtsContract.GetTypeHandle(methodTable.ToTargetPointer(_target)); 6739*GCStaticsAddress = rtsContract.GetGCStaticsBasePointer(typeHandle).ToClrDataAddress(_target); 6741*nonGCStaticsAddress = rtsContract.GetNonGCStaticsBasePointer(typeHandle).ToClrDataAddress(_target); 6775Contracts.IRuntimeTypeSystem rtsContract = _target.Contracts.RuntimeTypeSystem; 6776TargetPointer methodTablePtr = methodTable.ToTargetPointer(_target); 6777TargetPointer threadPtr = thread.ToTargetPointer(_target); 6790*GCStaticsAddress = rtsContract.GetGCThreadStaticsBasePointer(typeHandle, threadPtr).ToClrDataAddress(_target); 6792*nonGCStaticsAddress = rtsContract.GetNonGCThreadStaticsBasePointer(typeHandle, threadPtr).ToClrDataAddress(_target); 6830Contracts.IRuntimeTypeSystem rtsContract = _target.Contracts.RuntimeTypeSystem; 6831Contracts.TypeHandle methodTableHandle = rtsContract.GetTypeHandle(methodTable.ToTargetPointer(_target)); 7050IRuntimeTypeSystem rts = _target.Contracts.RuntimeTypeSystem; 7051TypeHandle methodTableHandle = rts.GetTypeHandle(mt.ToTargetPointer(_target)); 7064enumerator.Interface = new SOSMethodEnum(_target, methodTableHandle, legacyMethodEnum); 7085IGC gc = _target.Contracts.GC;
SOSDacImpl.IXCLRDataProcess.cs (43)
24_target.Flush(); 45Contracts.IThread contract = _target.Contracts.Thread; 73task.Interface = new ClrDataTask(matchingThread, _target, legacyTask); 112TargetCodePointer codeAddr = address.ToTargetCodePointer(_target); 115if (!_target.TryRead(codeAddr, out byte _)) 118IExecutionManager eman = _target.Contracts.ExecutionManager; 125IPrecodeStubs precodeStubs = _target.Contracts.PrecodeStubs; 131*displacement = codeAddr.ToAddress(_target).Value - entryPoint; 132IRuntimeTypeSystem rts = _target.Contracts.RuntimeTypeSystem; 135TypeNameBuilder.AppendMethodInternal(_target, sb, mdh, TypeNameFormat.FormatSignature 149if (resultName is null && _target.Contracts.AuxiliarySymbols.TryGetAuxiliarySymbolName(address.ToTargetPointer(_target), out string? auxSymbolName)) 459TargetCodePointer methodAddr = address.ToTargetCodePointer(_target); 463bool isTriviallyReadable = _target.TryRead(methodAddr, out byte _); 467IExecutionManager eman = _target.Contracts.ExecutionManager; 471EnumMethodInstances emi = new(_target, methodDesc, TargetPointer.Null); 534method.Interface = new ClrDataMethodInstance(_target, methodDesc, emi._appDomain, legacyMethod); 624INotifications notifications = _target.Contracts.Notifications; 636_legacyImpl.GetModule(moduleLoad.ModuleAddress.ToClrDataAddress(_target), legacyModuleOut); 640notify.OnModuleLoaded(new ClrDataModule(moduleLoad.ModuleAddress, _target, legacyModule)); 650_legacyImpl.GetModule(moduleUnload.ModuleAddress.ToClrDataAddress(_target), legacyModuleOut); 654notify.OnModuleUnloaded(new ClrDataModule(moduleUnload.ModuleAddress, _target, legacyModule)); 660TargetPointer appDomainPointer = _target.ReadGlobalPointer(Constants.Globals.AppDomain); 661TargetPointer appDomain = _target.ReadPointer(appDomainPointer); 663IRuntimeTypeSystem rts = _target.Contracts.RuntimeTypeSystem; 666ClrDataMethodInstance methodInst = new(_target, methodDesc, appDomain, null); 670notify5.OnCodeGenerated2(methodInst, jit.NativeCodeAddress.ToClrDataAddress(_target)); 679IThread thread = _target.Contracts.Thread; 683_target, 722TargetPointer appDomainPointer = _target.ReadGlobalPointer(Constants.Globals.AppDomain); 723TargetPointer appDomain = _target.ReadPointer(appDomainPointer); 724IRuntimeTypeSystem rts = _target.Contracts.RuntimeTypeSystem; 726notify4.ExceptionCatcherEnter(new ClrDataMethodInstance(_target, methodDesc, appDomain, null), exceptionCatcherEnter.NativeOffset); 810_target.Contracts.CodeNotifications.SetAllCodeNotifications(moduleAddr, CodeNotificationFlagsConverter.FromCom(flags)); 848ICodeNotifications codeNotif = _target.Contracts.CodeNotifications; 940_target.Contracts.CodeNotifications.SetCodeNotification(moduleAddr, tokens[i], CodeNotificationFlagsConverter.FromCom(f)); 959*flags = _target.Read<uint>(_target.ReadGlobalPointer(Constants.Globals.DacNotificationFlags)); 990TargetPointer dacNotificationFlags = _target.ReadGlobalPointer(Constants.Globals.DacNotificationFlags); 991_target.Write<uint>(dacNotificationFlags, flags); 1009flagsLocal = _target.Read<uint>(_target.ReadGlobalPointer(Constants.Globals.DacNotificationFlags)); 1083_target.Contracts.Notifications.SetGcNotification(gcEvtArgs.condemnedGeneration);