4 <name>Microsoft.Diagnostics.Runtime</name>
7 <member name="T:Microsoft.Diagnostics.Runtime.Architecture">
9 The architecture of a process.
12 <member name="F:Microsoft.Diagnostics.Runtime.Architecture.Unknown">
14 Unknown. Should never be exposed except in case of error.
17 <member name="F:Microsoft.Diagnostics.Runtime.Architecture.X86">
22 <member name="F:Microsoft.Diagnostics.Runtime.Architecture.Amd64">
27 <member name="F:Microsoft.Diagnostics.Runtime.Architecture.Arm">
32 <member name="F:Microsoft.Diagnostics.Runtime.Architecture.Arm64">
37 <member name="P:Microsoft.Diagnostics.Runtime.CacheOptions.MaxDumpCacheSize">
39 The maximum amount of memory (virtual address space) used by data readers to cache
40 memory from the dumpfile.
43 <member name="P:Microsoft.Diagnostics.Runtime.CacheOptions.UseOSMemoryFeatures">
45 Whether or not to attempt to use special OS memory features such as AWE on
49 <member name="T:Microsoft.Diagnostics.Runtime.ClrAppDomain">
51 Represents an AppDomain in the target runtime.
54 <member name="P:Microsoft.Diagnostics.Runtime.ClrAppDomain.Runtime">
56 Gets the runtime associated with this ClrAppDomain.
59 <member name="P:Microsoft.Diagnostics.Runtime.ClrAppDomain.Address">
61 Gets address of the AppDomain.
64 <member name="P:Microsoft.Diagnostics.Runtime.ClrAppDomain.Id">
66 Gets the AppDomain's ID.
69 <member name="P:Microsoft.Diagnostics.Runtime.ClrAppDomain.Name">
71 Gets the name of the AppDomain, as specified when the domain was created.
74 <member name="P:Microsoft.Diagnostics.Runtime.ClrAppDomain.Modules">
76 Gets a list of modules loaded into this AppDomain.
79 <member name="P:Microsoft.Diagnostics.Runtime.ClrAppDomain.ConfigurationFile">
81 Gets the config file used for the AppDomain. This may be <see langword="null"/> if there was no config file
82 loaded, or if the targeted runtime does not support enumerating that data.
85 <member name="P:Microsoft.Diagnostics.Runtime.ClrAppDomain.ApplicationBase">
87 Gets the base directory for this AppDomain. This may return <see langword="null"/> if the targeted runtime does
88 not support enumerating this information.
91 <member name="M:Microsoft.Diagnostics.Runtime.ClrAppDomain.ToString">
95 <returns>The name of this AppDomain.</returns>
97 <member name="T:Microsoft.Diagnostics.Runtime.ClrArray">
99 Represents an array in the target process.
102 <member name="P:Microsoft.Diagnostics.Runtime.ClrArray.Address">
104 Gets the address of the object.
107 <member name="P:Microsoft.Diagnostics.Runtime.ClrArray.Type">
109 Gets the type of the object.
112 <member name="P:Microsoft.Diagnostics.Runtime.ClrArray.Length">
114 Gets the count of elements in this array.
117 <member name="M:Microsoft.Diagnostics.Runtime.ClrArray.ReadValues``1(System.Int32,System.Int32)">
119 Gets <paramref name="count"/> element values from the array.
122 <member name="M:Microsoft.Diagnostics.Runtime.ClrArray.Equals(System.Object)">
124 Determines whether this instance and another specific <see cref="T:Microsoft.Diagnostics.Runtime.ClrArray"/> have the same value.
125 <para>Instances are considered equal when they have the same <see cref="P:Microsoft.Diagnostics.Runtime.ClrArray.Address"/>.</para>
127 <param name="obj">The <see cref="T:Microsoft.Diagnostics.Runtime.ClrArray"/> to compare to this instance.</param>
128 <returns><see langword="true"/> if the <see cref="P:Microsoft.Diagnostics.Runtime.ClrArray.Address"/> of the parameter is the same as <see cref="P:Microsoft.Diagnostics.Runtime.ClrArray.Address"/> in this instance; <see langword="false"/> otherwise.</returns>
130 <member name="M:Microsoft.Diagnostics.Runtime.ClrArray.Equals(Microsoft.Diagnostics.Runtime.ClrArray)">
132 Determines whether this instance and another specific <see cref="T:Microsoft.Diagnostics.Runtime.ClrArray"/> have the same value.
133 <para>Instances are considered equal when they have the same <see cref="P:Microsoft.Diagnostics.Runtime.ClrArray.Address"/>.</para>
135 <param name="other">The <see cref="T:Microsoft.Diagnostics.Runtime.ClrArray"/> to compare to this instance.</param>
136 <returns><see langword="true"/> if the <see cref="P:Microsoft.Diagnostics.Runtime.ClrArray.Address"/> of the parameter is the same as <see cref="P:Microsoft.Diagnostics.Runtime.ClrArray.Address"/> in this instance; <see langword="false"/> otherwise.</returns>
138 <member name="M:Microsoft.Diagnostics.Runtime.ClrArray.Equals(Microsoft.Diagnostics.Runtime.ClrObject)">
140 Determines whether this instance and a specified object.
142 <param name="other">The <see cref="T:Microsoft.Diagnostics.Runtime.ClrObject"/> to compare to this instance.</param>
144 <see langword="true"/> if <paramref name="other"/> is <see cref="T:Microsoft.Diagnostics.Runtime.ClrObject"/>, and its <see cref="P:Microsoft.Diagnostics.Runtime.ClrArray.Address"/> is the same as <see cref="P:Microsoft.Diagnostics.Runtime.ClrArray.Address"/> in this instance; <see langword="false"/>
148 <member name="M:Microsoft.Diagnostics.Runtime.ClrArray.GetHashCode">
150 Returns the hash code for this <see cref="T:Microsoft.Diagnostics.Runtime.ClrArray"/>.
152 <returns>An <see cref="T:System.Int32"/> hash code for this instance.</returns>
154 <member name="M:Microsoft.Diagnostics.Runtime.ClrArray.op_Equality(Microsoft.Diagnostics.Runtime.ClrArray,Microsoft.Diagnostics.Runtime.ClrArray)">
156 Determines whether two specified <see cref="T:Microsoft.Diagnostics.Runtime.ClrArray"/> have the same value.
158 <param name="left">First <see cref="T:Microsoft.Diagnostics.Runtime.ClrArray"/> to compare.</param>
159 <param name="right">Second <see cref="T:Microsoft.Diagnostics.Runtime.ClrArray"/> to compare.</param>
160 <returns><see langword="true"/> if <paramref name="left"/> <see cref="M:Microsoft.Diagnostics.Runtime.ClrArray.Equals(Microsoft.Diagnostics.Runtime.ClrArray)"/> <paramref name="right"/>; <see langword="false"/> otherwise.</returns>
162 <member name="M:Microsoft.Diagnostics.Runtime.ClrArray.op_Inequality(Microsoft.Diagnostics.Runtime.ClrArray,Microsoft.Diagnostics.Runtime.ClrArray)">
164 Determines whether two specified <see cref="T:Microsoft.Diagnostics.Runtime.ClrArray"/> have different values.
166 <param name="left">First <see cref="T:Microsoft.Diagnostics.Runtime.ClrArray"/> to compare.</param>
167 <param name="right">Second <see cref="T:Microsoft.Diagnostics.Runtime.ClrArray"/> to compare.</param>
168 <returns><see langword="true"/> if the value of <paramref name="left"/> is different from the value of <paramref name="right"/>; <see langword="false"/> otherwise.</returns>
170 <member name="T:Microsoft.Diagnostics.Runtime.ClrDiagnosticsException">
172 Exception thrown by Microsoft.Diagnostics.Runtime unless there is a more appropriate
176 <member name="M:Microsoft.Diagnostics.Runtime.ClrDiagnosticsException.#ctor">
181 <member name="M:Microsoft.Diagnostics.Runtime.ClrDiagnosticsException.#ctor(System.String)">
186 <member name="M:Microsoft.Diagnostics.Runtime.ClrDiagnosticsException.#ctor(System.String,System.Exception)">
191 <member name="M:Microsoft.Diagnostics.Runtime.ClrDiagnosticsException.#ctor(System.String,System.Int32)">
196 <member name="T:Microsoft.Diagnostics.Runtime.ClrDiagnosticsExceptionKind">
201 <member name="F:Microsoft.Diagnostics.Runtime.ClrDiagnosticsExceptionKind.Unknown">
203 Unknown error occurred.
206 <member name="F:Microsoft.Diagnostics.Runtime.ClrDiagnosticsExceptionKind.CorruptedFileOrUnknownFormat">
208 Dump file is corrupted or has an unknown format.
211 <member name="F:Microsoft.Diagnostics.Runtime.ClrDiagnosticsExceptionKind.RevisionMismatch">
213 The caller attempted to re-use an object after calling <see cref="M:Microsoft.Diagnostics.Runtime.ClrRuntime.FlushCachedData"/>. See the
214 documentation for <see cref="M:Microsoft.Diagnostics.Runtime.ClrRuntime.FlushCachedData"/> for more details.
217 <member name="F:Microsoft.Diagnostics.Runtime.ClrDiagnosticsExceptionKind.DebuggerError">
219 Something unexpected went wrong with the debugger we used to attach to the process or load the crash dump.
222 <member name="F:Microsoft.Diagnostics.Runtime.ClrDiagnosticsExceptionKind.CrashDumpError">
224 An error occurred while processing the given crash dump.
227 <member name="F:Microsoft.Diagnostics.Runtime.ClrDiagnosticsExceptionKind.DataRequestError">
229 Something unexpected went wrong when requesting data from the target process.
232 <member name="F:Microsoft.Diagnostics.Runtime.ClrDiagnosticsExceptionKind.DacError">
234 Hit an unexpected (non-recoverable) DAC error.
237 <member name="F:Microsoft.Diagnostics.Runtime.ClrDiagnosticsExceptionKind.RuntimeUninitialized">
239 The dll of the specified runtime (<i>mscorwks.dll</i> or <i>clr.dll</i>) is loaded into the process, but
240 has not actually been initialized and thus cannot be debugged.
243 <member name="T:Microsoft.Diagnostics.Runtime.ClrElementType">
245 This is a representation of the metadata element type. These values
246 directly correspond with CLR's CorElementType.
249 <member name="F:Microsoft.Diagnostics.Runtime.ClrElementType.Unknown">
251 Not one of the other types.
254 <member name="F:Microsoft.Diagnostics.Runtime.ClrElementType.Void">
259 <member name="F:Microsoft.Diagnostics.Runtime.ClrElementType.Boolean">
264 <member name="F:Microsoft.Diagnostics.Runtime.ClrElementType.Char">
269 <member name="F:Microsoft.Diagnostics.Runtime.ClrElementType.Int8">
274 <member name="F:Microsoft.Diagnostics.Runtime.ClrElementType.UInt8">
279 <member name="F:Microsoft.Diagnostics.Runtime.ClrElementType.Int16">
284 <member name="F:Microsoft.Diagnostics.Runtime.ClrElementType.UInt16">
289 <member name="F:Microsoft.Diagnostics.Runtime.ClrElementType.Int32">
294 <member name="F:Microsoft.Diagnostics.Runtime.ClrElementType.UInt32">
299 <member name="F:Microsoft.Diagnostics.Runtime.ClrElementType.Int64">
304 <member name="F:Microsoft.Diagnostics.Runtime.ClrElementType.UInt64">
309 <member name="F:Microsoft.Diagnostics.Runtime.ClrElementType.Float">
314 <member name="F:Microsoft.Diagnostics.Runtime.ClrElementType.Double">
319 <member name="F:Microsoft.Diagnostics.Runtime.ClrElementType.String">
324 <member name="F:Microsoft.Diagnostics.Runtime.ClrElementType.Pointer">
329 <member name="F:Microsoft.Diagnostics.Runtime.ClrElementType.Struct">
331 ELEMENT_TYPE_VALUETYPE
334 <member name="F:Microsoft.Diagnostics.Runtime.ClrElementType.Class">
339 <member name="F:Microsoft.Diagnostics.Runtime.ClrElementType.Var">
344 <member name="F:Microsoft.Diagnostics.Runtime.ClrElementType.Array">
349 <member name="F:Microsoft.Diagnostics.Runtime.ClrElementType.GenericInstantiation">
351 ELEMENT_TYPE_GENERICINST
354 <member name="F:Microsoft.Diagnostics.Runtime.ClrElementType.NativeInt">
359 <member name="F:Microsoft.Diagnostics.Runtime.ClrElementType.NativeUInt">
364 <member name="F:Microsoft.Diagnostics.Runtime.ClrElementType.FunctionPointer">
369 <member name="F:Microsoft.Diagnostics.Runtime.ClrElementType.Object">
374 <member name="F:Microsoft.Diagnostics.Runtime.ClrElementType.MVar">
379 <member name="F:Microsoft.Diagnostics.Runtime.ClrElementType.SZArray">
384 <member name="T:Microsoft.Diagnostics.Runtime.ClrException">
386 A wrapper for exception objects which help with common tasks for exception objects.
387 Create this using <see cref="M:Microsoft.Diagnostics.Runtime.ClrObject.AsException"/>. You may call that when <see cref="P:Microsoft.Diagnostics.Runtime.ClrObject.IsException"/>
388 is <see langword="true"/>.
391 <member name="P:Microsoft.Diagnostics.Runtime.ClrException.Thread">
393 Gets the original thread this exception was thrown from. This may be <see langword="null"/> if we do not know.
396 <member name="M:Microsoft.Diagnostics.Runtime.ClrException.AsObject">
398 Returns this exception's ClrObject representation.
401 <member name="P:Microsoft.Diagnostics.Runtime.ClrException.Address">
403 Gets the address of the exception object.
406 <member name="P:Microsoft.Diagnostics.Runtime.ClrException.Type">
408 Gets the <see cref="T:Microsoft.Diagnostics.Runtime.ClrType"/> for this exception object.
411 <member name="P:Microsoft.Diagnostics.Runtime.ClrException.Message">
413 Gets the exception message.
416 <member name="P:Microsoft.Diagnostics.Runtime.ClrException.Inner">
418 Gets the inner exception, if one exists, <see langword="null"/> otherwise.
421 <member name="P:Microsoft.Diagnostics.Runtime.ClrException.HResult">
423 Gets the HRESULT associated with this exception (or S_OK if there isn't one).
426 <member name="P:Microsoft.Diagnostics.Runtime.ClrException.StackTrace">
428 Gets the StackTrace for this exception. Note that this may be empty or partial depending
429 on the state of the exception in the process. (It may have never been thrown or we may be in
430 the middle of constructing the stackwalk.) This returns an empty list if no stack trace is
431 associated with this exception object.
434 <member name="T:Microsoft.Diagnostics.Runtime.ClrField">
436 A representation of a field in the target process.
439 <member name="P:Microsoft.Diagnostics.Runtime.ClrField.ContainingType">
441 Gets the <see cref="T:Microsoft.Diagnostics.Runtime.ClrType"/> containing this field.
444 <member name="P:Microsoft.Diagnostics.Runtime.ClrField.Name">
446 Gets the name of the field.
449 <member name="P:Microsoft.Diagnostics.Runtime.ClrField.Token">
451 Gets the type token of this field.
454 <member name="P:Microsoft.Diagnostics.Runtime.ClrField.Type">
456 Gets the type of the field. Note this property may return <see langword="null"/> on error. There is a bug in several versions
457 of our debugging layer which causes this. You should always null-check the return value of this field.
460 <member name="P:Microsoft.Diagnostics.Runtime.ClrField.ElementType">
462 Gets the element type of this field. Note that even when Type is <see langword="null"/>, this should still tell you
463 the element type of the field.
466 <member name="P:Microsoft.Diagnostics.Runtime.ClrField.IsPrimitive">
468 Gets a value indicating whether this field is a primitive (<see cref="T:System.Int32"/>, <see cref="T:System.Single"/>, etc).
470 <returns>True if this field is a primitive (<see cref="T:System.Int32"/>, <see cref="T:System.Single"/>, etc), false otherwise.</returns>
472 <member name="P:Microsoft.Diagnostics.Runtime.ClrField.IsValueType">
474 Gets a value indicating whether this field is a value type.
476 <returns>True if this field is a value type, false otherwise.</returns>
478 <member name="P:Microsoft.Diagnostics.Runtime.ClrField.IsObjectReference">
480 Gets a value indicating whether this field is an object reference.
482 <returns>True if this field is an object reference, false otherwise.</returns>
484 <member name="P:Microsoft.Diagnostics.Runtime.ClrField.Size">
486 Gets the size of this field.
489 <member name="P:Microsoft.Diagnostics.Runtime.ClrField.IsPublic">
491 Gets a value indicating whether this field is public.
494 <member name="P:Microsoft.Diagnostics.Runtime.ClrField.IsPrivate">
496 Gets a value indicating whether this field is private.
499 <member name="P:Microsoft.Diagnostics.Runtime.ClrField.IsInternal">
501 Gets a value indicating whether this field is internal.
504 <member name="P:Microsoft.Diagnostics.Runtime.ClrField.IsProtected">
506 Gets a value indicating whether this field is protected.
509 <member name="P:Microsoft.Diagnostics.Runtime.ClrField.Offset">
511 For instance fields, this is the offset of the field within the object.
512 For static fields this is the offset within the block of memory allocated for the module's static fields.
515 <member name="M:Microsoft.Diagnostics.Runtime.ClrField.ToString">
517 Returns a string representation of this object.
519 <returns>A string representation of this object.</returns>
521 <member name="T:Microsoft.Diagnostics.Runtime.ClrFinalizerRoot">
523 Represents a root that comes from the finalizer queue.
526 <member name="T:Microsoft.Diagnostics.Runtime.ClrGenericParameter">
528 Returns information about generic parameters.
531 <member name="P:Microsoft.Diagnostics.Runtime.ClrGenericParameter.MetadataToken">
533 The metadata token of the parameter.
536 <member name="P:Microsoft.Diagnostics.Runtime.ClrGenericParameter.Index">
538 The index of the parameter.
541 <member name="P:Microsoft.Diagnostics.Runtime.ClrGenericParameter.Attributes">
543 The attributes of the parameter.
546 <member name="P:Microsoft.Diagnostics.Runtime.ClrGenericParameter.Name">
548 The name of the parameter.
551 <member name="M:Microsoft.Diagnostics.Runtime.ClrGenericParameter.#ctor(System.Int32,System.Int32,System.Reflection.GenericParameterAttributes,System.String)">
556 <member name="T:Microsoft.Diagnostics.Runtime.ClrHandle">
558 Represents a CLR handle in the target process.
561 <member name="P:Microsoft.Diagnostics.Runtime.ClrHandle.Address">
563 Gets the address of the handle itself. That is, *ulong == Object.
566 <member name="P:Microsoft.Diagnostics.Runtime.ClrHandle.Object">
568 Gets the Object the handle roots.
571 <member name="P:Microsoft.Diagnostics.Runtime.ClrHandle.HandleKind">
573 Gets the type of handle.
576 <member name="P:Microsoft.Diagnostics.Runtime.ClrHandle.ReferenceCount">
578 If this handle is a RefCount handle, this returns the reference count.
579 RefCount handles with a RefCount > 0 are strong.
582 <member name="P:Microsoft.Diagnostics.Runtime.ClrHandle.Dependent">
584 Gets the dependent handle target if this is a dependent handle.
587 <member name="P:Microsoft.Diagnostics.Runtime.ClrHandle.AppDomain">
589 Gets the AppDomain the handle resides in.
592 <member name="P:Microsoft.Diagnostics.Runtime.ClrHandle.IsStrong">
594 Gets a value indicating whether the handle is strong (roots the object).
597 <member name="P:Microsoft.Diagnostics.Runtime.ClrHandle.IsPinned">
599 Gets a value indicating whether the handle pins the object (doesn't allow the GC to
603 <member name="M:Microsoft.Diagnostics.Runtime.ClrHandle.ToString">
609 <member name="T:Microsoft.Diagnostics.Runtime.ClrHandleKind">
611 Types of CLR handles.
614 <member name="F:Microsoft.Diagnostics.Runtime.ClrHandleKind.WeakShort">
616 Weak, short lived handle.
619 <member name="F:Microsoft.Diagnostics.Runtime.ClrHandleKind.WeakLong">
621 Weak, long lived handle.
624 <member name="F:Microsoft.Diagnostics.Runtime.ClrHandleKind.Strong">
629 <member name="F:Microsoft.Diagnostics.Runtime.ClrHandleKind.Pinned">
631 Strong handle, prevents relocation of target object.
634 <member name="F:Microsoft.Diagnostics.Runtime.ClrHandleKind.RefCounted">
636 RefCounted handle (strong when the reference count is greater than 0).
639 <member name="F:Microsoft.Diagnostics.Runtime.ClrHandleKind.Dependent">
641 A weak handle which may keep its "secondary" object alive if the "target" object is also alive.
644 <member name="F:Microsoft.Diagnostics.Runtime.ClrHandleKind.AsyncPinned">
646 A strong, pinned handle (keeps the target object from being relocated), used for async IO operations.
649 <member name="F:Microsoft.Diagnostics.Runtime.ClrHandleKind.SizedRef">
651 Strong handle used internally for book keeping.
654 <member name="F:Microsoft.Diagnostics.Runtime.ClrHandleKind.WeakWinRT">
659 <member name="T:Microsoft.Diagnostics.Runtime.ClrHeap">
661 A representation of the CLR heap.
664 <member name="P:Microsoft.Diagnostics.Runtime.ClrHeap.Runtime">
666 Gets the runtime associated with this heap.
669 <member name="P:Microsoft.Diagnostics.Runtime.ClrHeap.CanWalkHeap">
671 Returns true if the GC heap is in a consistent state for heap enumeration. This will return false
672 if the process was stopped in the middle of a GC, which can cause the GC heap to be unwalkable.
673 Note, you may still attempt to walk the heap if this function returns false, but you will likely
674 only be able to partially walk each segment.
677 <member name="P:Microsoft.Diagnostics.Runtime.ClrHeap.LogicalHeapCount">
679 Returns the number of logical heaps in the process.
682 <member name="P:Microsoft.Diagnostics.Runtime.ClrHeap.Segments">
684 A heap is has a list of contiguous memory regions called segments. This list is returned in order of
685 of increasing object addresses.
688 <member name="P:Microsoft.Diagnostics.Runtime.ClrHeap.FreeType">
690 Gets the <see cref="T:Microsoft.Diagnostics.Runtime.ClrType"/> representing free space on the GC heap.
693 <member name="P:Microsoft.Diagnostics.Runtime.ClrHeap.StringType">
695 Gets the <see cref="T:Microsoft.Diagnostics.Runtime.ClrType"/> representing <see cref="T:System.String"/>.
698 <member name="P:Microsoft.Diagnostics.Runtime.ClrHeap.ObjectType">
700 Gets the <see cref="T:Microsoft.Diagnostics.Runtime.ClrType"/> representing <see cref="T:System.Object"/>.
703 <member name="P:Microsoft.Diagnostics.Runtime.ClrHeap.ExceptionType">
705 Gets the <see cref="T:Microsoft.Diagnostics.Runtime.ClrType"/> representing <see cref="T:System.Exception"/>.
708 <member name="P:Microsoft.Diagnostics.Runtime.ClrHeap.IsServer">
710 Gets a value indicating whether the GC heap is in Server mode.
713 <member name="M:Microsoft.Diagnostics.Runtime.ClrHeap.GetObject(System.UInt64)">
715 Gets a <see cref="T:Microsoft.Diagnostics.Runtime.ClrObject"/> for the given address on this heap.
718 The returned object will have a <see langword="null"/> <see cref="P:Microsoft.Diagnostics.Runtime.ClrObject.Type"/> if objRef does not point to
719 a valid managed object.
721 <param name="objRef"></param>
724 <member name="M:Microsoft.Diagnostics.Runtime.ClrHeap.GetObjectType(System.UInt64)">
726 Obtains the type of an object at the given address. Returns <see langword="null"/> if objRef does not point to
727 a valid managed object.
730 <member name="M:Microsoft.Diagnostics.Runtime.ClrHeap.EnumerateObjects">
732 Enumerates all objects on the heap.
734 <returns>An enumerator for all objects on the heap.</returns>
736 <member name="M:Microsoft.Diagnostics.Runtime.ClrHeap.EnumerateRoots">
738 Enumerates all roots in the process. Equivalent to the combination of:
739 ClrRuntime.EnumerateHandles().Where(handle => handle.IsStrong)
740 ClrRuntime.EnumerateThreads().SelectMany(thread => thread.EnumerateStackRoots())
741 ClrHeap.EnumerateFinalizerRoots()
744 <member name="M:Microsoft.Diagnostics.Runtime.ClrHeap.GetSegmentByAddress(System.UInt64)">
746 Returns the GC segment which contains the given address. This only searches ClrSegment.ObjectRange.
749 <member name="M:Microsoft.Diagnostics.Runtime.ClrHeap.EnumerateFinalizableObjects">
751 Enumerates all finalizable objects on the heap.
754 <member name="M:Microsoft.Diagnostics.Runtime.ClrHeap.EnumerateFinalizerRoots">
756 Enumerates all finalizable objects on the heap.
759 <member name="M:Microsoft.Diagnostics.Runtime.ClrHeap.EnumerateAllocationContexts">
761 Enumerates all AllocationContexts for all segments. Allocation contexts are locations on the GC
762 heap which the GC uses to allocate new objects. These regions of memory do not contain objects.
763 AllocationContexts are the reason that you cannot simply enumerate the heap by adding each object's
764 size to itself to get the next object on the segment, since if the address is an allocation context
765 you will have to skip past it to find the next valid object.
769 <member name="M:Microsoft.Diagnostics.Runtime.ClrHeap.GetSyncBlock(System.UInt64)">
771 Obtains the SyncBlock data for a given object, if the object has an associated SyncBlock.
773 <param name="obj">The object to get SyncBlock data for.</param>
774 <returns>The SyncBlock for the object, null if the object does not have one.</returns>
776 <member name="M:Microsoft.Diagnostics.Runtime.ClrHeap.ToString">
778 Returns a string representation of this heap, including the size and number of segments.
780 <returns>The string representation of this heap.</returns>
782 <member name="M:Microsoft.Diagnostics.Runtime.ClrHeap.GetComFlags(System.UInt64)">
784 This is an implementation helper. Use ClrObject.IsComCallWrapper and ClrObject.IsRuntimeCallWrapper instead.
787 <member name="M:Microsoft.Diagnostics.Runtime.ClrHeap.GetObjectSize(System.UInt64,Microsoft.Diagnostics.Runtime.ClrType)">
789 This is an implementation helper. Use ClrObject.Size instead.
792 <member name="M:Microsoft.Diagnostics.Runtime.ClrHeap.EnumerateObjectReferences(System.UInt64,Microsoft.Diagnostics.Runtime.ClrType,System.Boolean,System.Boolean)">
794 This is an implementation helper. Use <see cref="M:Microsoft.Diagnostics.Runtime.ClrObject.EnumerateReferences(System.Boolean,System.Boolean)">ClrObject.EnumerateReferences</see> instead.
795 Enumerates all objects that the given object references. This method is meant for internal use to
796 implement ClrObject.EnumerateReferences, which you should use instead of calling this directly.
798 <param name="obj">The object in question.</param>
799 <param name="type">The type of the object.</param>
800 <param name="considerDependantHandles">Whether to consider dependant handle mappings.</param>
801 <param name="carefully">
802 Whether to bounds check along the way (useful in cases where
803 the heap may be in an inconsistent state.)
806 <member name="M:Microsoft.Diagnostics.Runtime.ClrHeap.EnumerateReferencesWithFields(System.UInt64,Microsoft.Diagnostics.Runtime.ClrType,System.Boolean,System.Boolean)">
808 This is an implementation helper.
809 Enumerates all objects that the given object references. This method is meant for internal use to
810 implement ClrObject.EnumerateReferencesWithFields, which you should use instead of calling this directly.
812 <param name="obj">The object in question.</param>
813 <param name="type">The type of the object.</param>
814 <param name="considerDependantHandles">Whether to consider dependant handle mappings.</param>
815 <param name="carefully">
816 Whether to bounds check along the way (useful in cases where
817 the heap may be in an inconsistent state.)
820 <member name="T:Microsoft.Diagnostics.Runtime.ClrInstanceField">
822 Represents an instance field of a type. Fundamentally it represents a name and a type
825 <member name="M:Microsoft.Diagnostics.Runtime.ClrInstanceField.Read``1(System.UInt64,System.Boolean)">
827 Reads the value of the field as an unmanaged struct or primitive type.
829 <typeparam name="T">An unmanaged struct or primitive type.</typeparam>
830 <param name="objRef">The object to read the instance field from.</param>
831 <param name="interior">Whether or not the field is interior to a struct.</param>
832 <returns>The value read.</returns>
834 <member name="M:Microsoft.Diagnostics.Runtime.ClrInstanceField.ReadObject(System.UInt64,System.Boolean)">
836 Reads the value of an object field.
838 <param name="objRef">The object to read the instance field from.</param>
839 <param name="interior">Whether or not the field is interior to a struct.</param>
840 <returns>The value read.</returns>
842 <member name="M:Microsoft.Diagnostics.Runtime.ClrInstanceField.ReadStruct(System.UInt64,System.Boolean)">
844 Reads a ValueType struct from the instance field.
846 <param name="objRef">The object to read the instance field from.</param>
847 <param name="interior">Whether or not the field is interior to a struct.</param>
848 <returns>The value read.</returns>
850 <member name="M:Microsoft.Diagnostics.Runtime.ClrInstanceField.ReadString(System.UInt64,System.Boolean)">
852 Reads a string from the instance field.
854 <param name="objRef">The object to read the instance field from.</param>
855 <param name="interior">Whether or not the field is interior to a struct.</param>
856 <returns>The value read.</returns>
858 <member name="M:Microsoft.Diagnostics.Runtime.ClrInstanceField.GetAddress(System.UInt64)">
860 Returns the address of the value of this field. Equivalent to GetFieldAddress(objRef, false).
862 <param name="objRef">The object to get the field address for.</param>
863 <returns>The value of the field.</returns>
865 <member name="M:Microsoft.Diagnostics.Runtime.ClrInstanceField.GetAddress(System.UInt64,System.Boolean)">
867 Returns the address of the value of this field. Equivalent to GetFieldAddress(objRef, false).
869 <param name="objRef">The object to get the field address for.</param>
870 <param name="interior">
871 Whether the enclosing type of this field is a value class,
872 and that value class is embedded in another object.
874 <returns>The value of the field.</returns>
876 <member name="T:Microsoft.Diagnostics.Runtime.ClrInterface">
878 An interface implementation in the target process.
881 <member name="P:Microsoft.Diagnostics.Runtime.ClrInterface.Name">
883 Gets the typename of the interface.
886 <member name="P:Microsoft.Diagnostics.Runtime.ClrInterface.BaseInterface">
888 Gets the interface that this interface inherits from.
891 <member name="M:Microsoft.Diagnostics.Runtime.ClrInterface.ToString">
893 Display string for this interface.
895 <returns>Display string for this interface.</returns>
897 <member name="M:Microsoft.Diagnostics.Runtime.ClrInterface.Equals(System.Object)">
901 <param name="obj">Object to compare to.</param>
902 <returns>True if this interface equals another.</returns>
904 <member name="M:Microsoft.Diagnostics.Runtime.ClrInterface.GetHashCode">
906 GetHashCode override.
908 <returns>A hashcode for this object.</returns>
910 <member name="T:Microsoft.Diagnostics.Runtime.ClrMethod">
912 Represents a method on a class.
915 <member name="P:Microsoft.Diagnostics.Runtime.ClrMethod.MethodDesc">
917 Gets the first MethodDesc in EnumerateMethodDescs(). For single
918 AppDomain programs this is the only MethodDesc. MethodDescs
919 are unique to an Method/AppDomain pair, so when there are multiple domains
920 there will be multiple MethodDescs for a method.
923 <member name="P:Microsoft.Diagnostics.Runtime.ClrMethod.Name">
925 Gets the name of the method. For example, "void System.Foo.Bar(object o, int i)" would return "Bar".
928 <member name="P:Microsoft.Diagnostics.Runtime.ClrMethod.Signature">
930 Gets the full signature of the function. For example, "void System.Foo.Bar(object o, int i)"
931 would return "System.Foo.Bar(System.Object, System.Int32)"
934 <member name="P:Microsoft.Diagnostics.Runtime.ClrMethod.NativeCode">
936 Gets the instruction pointer in the target process for the start of the method's assembly.
939 <member name="M:Microsoft.Diagnostics.Runtime.ClrMethod.GetILOffset(System.UInt64)">
941 Gets the ILOffset of the given address within this method.
943 <param name="addr">The absolute address of the code (not a relative offset).</param>
944 <returns>The IL offset of the given address.</returns>
946 <member name="P:Microsoft.Diagnostics.Runtime.ClrMethod.IL">
948 Gets the location in memory of the IL for this method.
951 <member name="P:Microsoft.Diagnostics.Runtime.ClrMethod.HotColdInfo">
953 Gets the regions of memory that
956 <member name="P:Microsoft.Diagnostics.Runtime.ClrMethod.CompilationType">
958 Gets the way this method was compiled.
961 <member name="P:Microsoft.Diagnostics.Runtime.ClrMethod.ILOffsetMap">
963 Gets the IL to native offset mapping.
966 <member name="P:Microsoft.Diagnostics.Runtime.ClrMethod.MetadataToken">
968 Gets the metadata token of the current method.
971 <member name="P:Microsoft.Diagnostics.Runtime.ClrMethod.Type">
973 Gets the enclosing type of this method.
976 <member name="P:Microsoft.Diagnostics.Runtime.ClrMethod.IsPublic">
978 Gets a value indicating whether this method is public.
981 <member name="P:Microsoft.Diagnostics.Runtime.ClrMethod.IsPrivate">
983 Gets a value indicating whether this method is private.
986 <member name="P:Microsoft.Diagnostics.Runtime.ClrMethod.IsInternal">
988 Gets a value indicating whether this method is internal.
991 <member name="P:Microsoft.Diagnostics.Runtime.ClrMethod.IsProtected">
993 Gets a value indicating whether this method is protected.
996 <member name="P:Microsoft.Diagnostics.Runtime.ClrMethod.IsStatic">
998 Gets a value indicating whether this method is static.
1001 <member name="P:Microsoft.Diagnostics.Runtime.ClrMethod.IsFinal">
1003 Gets a value indicating whether this method is final.
1006 <member name="P:Microsoft.Diagnostics.Runtime.ClrMethod.IsPInvoke">
1008 Gets a value indicating whether this method is a P/Invoke.
1011 <member name="P:Microsoft.Diagnostics.Runtime.ClrMethod.IsSpecialName">
1013 Gets a value indicating whether this method is a special method.
1016 <member name="P:Microsoft.Diagnostics.Runtime.ClrMethod.IsRTSpecialName">
1018 Gets a value indicating whether this method is a runtime special method.
1021 <member name="P:Microsoft.Diagnostics.Runtime.ClrMethod.IsVirtual">
1023 Gets a value indicating whether this method is virtual.
1026 <member name="P:Microsoft.Diagnostics.Runtime.ClrMethod.IsAbstract">
1028 Gets a value indicating whether this method is abstract.
1031 <member name="P:Microsoft.Diagnostics.Runtime.ClrMethod.IsConstructor">
1033 Gets a value indicating whether this method is an instance constructor.
1036 <member name="P:Microsoft.Diagnostics.Runtime.ClrMethod.IsClassConstructor">
1038 Gets a value indicating whether this method is a static constructor.
1041 <member name="T:Microsoft.Diagnostics.Runtime.ClrModule">
1043 Represents a managed module in the target process.
1046 <member name="P:Microsoft.Diagnostics.Runtime.ClrModule.Address">
1048 Gets the address of the clr!Module object.
1051 <member name="P:Microsoft.Diagnostics.Runtime.ClrModule.AppDomain">
1053 Gets the AppDomain parent of this module.
1056 <member name="P:Microsoft.Diagnostics.Runtime.ClrModule.AssemblyName">
1058 Gets the name of the assembly that this module is defined in.
1061 <member name="P:Microsoft.Diagnostics.Runtime.ClrModule.AssemblyAddress">
1063 Gets an identifier to uniquely represent this assembly. This value is not used by any other
1064 function in ClrMD, but can be used to group modules by their assembly. (Do not use AssemblyName
1065 for this, as reflection and other special assemblies can share the same name, but actually be
1069 <member name="P:Microsoft.Diagnostics.Runtime.ClrModule.Name">
1071 Gets the name of the module.
1074 <member name="P:Microsoft.Diagnostics.Runtime.ClrModule.IsDynamic">
1076 Gets a value indicating whether this module was created through <c>System.Reflection.Emit</c> (and thus has no associated
1080 <member name="P:Microsoft.Diagnostics.Runtime.ClrModule.IsPEFile">
1082 Gets a value indicating whether this module is an actual PEFile on disk.
1085 <member name="P:Microsoft.Diagnostics.Runtime.ClrModule.ImageBase">
1087 Gets the base of the image loaded into memory. This may be 0 if there is not a physical
1091 <member name="P:Microsoft.Diagnostics.Runtime.ClrModule.Layout">
1093 Returns the in memory layout for PEImages.
1096 <member name="P:Microsoft.Diagnostics.Runtime.ClrModule.Size">
1098 Gets the size of the image in memory.
1101 <member name="P:Microsoft.Diagnostics.Runtime.ClrModule.MetadataAddress">
1103 Gets the location of metadata for this module in the process's memory. This is useful if you
1104 need to manually create IMetaData* objects.
1107 <member name="P:Microsoft.Diagnostics.Runtime.ClrModule.MetadataLength">
1109 Gets the length of the metadata for this module.
1112 <member name="P:Microsoft.Diagnostics.Runtime.ClrModule.MetadataImport">
1114 Gets the <c>IMetaDataImport</c> interface for this module. Note that this API does not provide a
1115 wrapper for <c>IMetaDataImport</c>. You will need to wrap the API yourself if you need to use this.
1118 <member name="P:Microsoft.Diagnostics.Runtime.ClrModule.DebuggingMode">
1120 Gets the debugging attributes for this module.
1123 <member name="M:Microsoft.Diagnostics.Runtime.ClrModule.EnumerateTypeDefToMethodTableMap">
1125 Enumerates the constructed methodtables in this module which correspond to typedef tokens defined by this module.
1127 <returns>An enumeration of (ulong methodTable, uint typeDef).</returns>
1129 <member name="M:Microsoft.Diagnostics.Runtime.ClrModule.ResolveToken(System.Int32)">
1131 Resolves the given metadata token for this module.
1133 <param name="typeDefOrRefToken">A typedef or typeref token.</param>
1134 <returns>The ClrType of the resolved token, <see langword="null"/> if not found or if a type for the token hasn't been constructed by the runtime.</returns>
1136 <member name="M:Microsoft.Diagnostics.Runtime.ClrModule.GetTypeByName(System.String)">
1138 Attempts to obtain a ClrType based on the name of the type. Note this is a "best effort" due to
1139 the way that the DAC handles types. This function will fail for Generics, and types which have
1140 never been constructed in the target process. Please be sure to null-check the return value of
1143 <param name="name">The name of the type. (This would be the EXACT value returned by ClrType.Name.)</param>
1144 <returns>The requested ClrType, or <see langword="null"/> if the type doesn't exist or if the runtime hasn't constructed it.</returns>
1146 <member name="M:Microsoft.Diagnostics.Runtime.ClrModule.ToString">
1148 Returns a name for the assembly.
1150 <returns>A name for the assembly.</returns>
1152 <member name="P:Microsoft.Diagnostics.Runtime.ClrModule.Pdb">
1154 Gets the PDB information for this module.
1157 <member name="T:Microsoft.Diagnostics.Runtime.ClrObject">
1159 Represents an object in the target process.
1162 <member name="M:Microsoft.Diagnostics.Runtime.ClrObject.#ctor(System.UInt64,Microsoft.Diagnostics.Runtime.ClrType)">
1166 <param name="address">The address of the object.</param>
1167 <param name="type">The concrete type of the object.</param>
1169 <member name="M:Microsoft.Diagnostics.Runtime.ClrObject.EnumerateReferences(System.Boolean,System.Boolean)">
1171 Enumerates all objects that this object references.
1173 <param name="carefully">Only returns pointers which lie on the managed heap. In very rare cases it's possible to
1174 create a crash dump where the GC was in the middle of updating data structures, or to create a crash dump of a process
1175 with heap corruption. In those cases, setting carefully=true would ensure we would not enumerate those bad references.
1176 Note that setting carefully=true will cause a small performance penalty.</param>
1177 <param name="considerDependantHandles">Setting this to true will have ClrMD check for dependent handle references.
1178 Checking dependent handles does come at a performance penalty but will give you the true reference chain as the
1180 <returns>An enumeration of object references.</returns>
1182 <member name="M:Microsoft.Diagnostics.Runtime.ClrObject.EnumerateReferencesWithFields(System.Boolean,System.Boolean)">
1184 Enumerates all objects that this object references. This method also enumerates the field (or handle) that this
1185 reference comes from.
1187 <param name="carefully">Only returns pointers which lie on the managed heap. In very rare cases it's possible to
1188 create a crash dump where the GC was in the middle of updating data structures, or to create a crash dump of a process
1189 with heap corruption. In those cases, setting carefully=true would ensure we would not enumerate those bad references.
1190 Note that setting carefully=true will cause a small performance penalty.</param>
1191 <param name="considerDependantHandles">Setting this to true will have ClrMD check for dependent handle references.
1192 Checking dependent handles does come at a performance penalty but will give you the true reference chain as the
1194 <returns>An enumeration of object references.</returns>
1196 <member name="P:Microsoft.Diagnostics.Runtime.ClrObject.IsBoxedValue">
1198 Returns true if this object is a boxed struct or primitive type that
1201 <member name="M:Microsoft.Diagnostics.Runtime.ClrObject.ReadBoxedValue``1">
1203 Reads a boxed primitive value.
1205 <typeparam name="T">An unmanaged struct or primitive type to read out of the object.</typeparam>
1206 <returns>The value read.</returns>
1208 <member name="P:Microsoft.Diagnostics.Runtime.ClrObject.Address">
1210 Gets the address of the object.
1213 <member name="P:Microsoft.Diagnostics.Runtime.ClrObject.Type">
1215 Gets the type of the object.
1218 <member name="P:Microsoft.Diagnostics.Runtime.ClrObject.IsFree">
1220 Returns whether this is free space on the GC heap and not a real object.
1223 <member name="P:Microsoft.Diagnostics.Runtime.ClrObject.IsValid">
1225 Returns whether this is a valid object. This will return null
1228 <member name="P:Microsoft.Diagnostics.Runtime.ClrObject.IsNull">
1230 Returns if the object value is <see langword="null"/>.
1233 <member name="P:Microsoft.Diagnostics.Runtime.ClrObject.Size">
1235 Gets the size of the object.
1238 <member name="P:Microsoft.Diagnostics.Runtime.ClrObject.SyncBlock">
1240 Obtains the SyncBlock for this object. Returns null if there is no SyncBlock associated with this object.
1243 <member name="P:Microsoft.Diagnostics.Runtime.ClrObject.IsComClassFactory">
1245 Returns true if this object is a COM class factory.
1248 <member name="P:Microsoft.Diagnostics.Runtime.ClrObject.HasComCallableWrapper">
1250 Returns true if this object is a ComCallableWrapper.
1253 <member name="P:Microsoft.Diagnostics.Runtime.ClrObject.HasRuntimeCallableWrapper">
1255 Returns true if this object is a RuntimeCallableWrapper.
1258 <member name="M:Microsoft.Diagnostics.Runtime.ClrObject.GetComCallableWrapper">
1260 Returns the ComCallableWrapper for the given object.
1262 <returns>The ComCallableWrapper associated with the object, <see langword="null"/> if obj is not a CCW.</returns>
1264 <member name="M:Microsoft.Diagnostics.Runtime.ClrObject.GetRuntimeCallableWrapper">
1266 Returns the RuntimeCallableWrapper for the given object.
1268 <returns>The RuntimeCallableWrapper associated with the object, <see langword="null"/> if obj is not a RCW.</returns>
1270 <member name="P:Microsoft.Diagnostics.Runtime.ClrObject.ContainsPointers">
1272 Gets a value indicating whether this object possibly contains GC pointers.
1275 <member name="P:Microsoft.Diagnostics.Runtime.ClrObject.IsArray">
1277 Gets a value indicating whether this object is an array.
1280 <member name="M:Microsoft.Diagnostics.Runtime.ClrObject.AsArray">
1282 returns the object as an array if the object has array type.
1286 <member name="M:Microsoft.Diagnostics.Runtime.ClrObject.op_Explicit(Microsoft.Diagnostics.Runtime.ClrObject)~System.String">
1288 Converts a ClrObject into its string value.
1290 <param name="obj">A string object.</param>
1292 <member name="M:Microsoft.Diagnostics.Runtime.ClrObject.op_Implicit(Microsoft.Diagnostics.Runtime.ClrObject)~System.UInt64">
1294 Returns <see cref="P:Microsoft.Diagnostics.Runtime.ClrObject.Address"/> sweetening obj to pointer move.
1295 <Para>Example: ulong address = clrObject</Para>
1297 <param name="clrObject">An object to get address of.</param>
1299 <member name="M:Microsoft.Diagnostics.Runtime.ClrObject.ReadObjectField(System.String)">
1301 Gets the given object reference field from this ClrObject.
1303 <param name="fieldName">The name of the field to retrieve.</param>
1304 <returns>A ClrObject of the given field.</returns>
1305 <exception cref="T:System.ArgumentException">The given field does not exist in the object.</exception>
1306 <exception cref="T:System.InvalidOperationException"><see cref="P:Microsoft.Diagnostics.Runtime.ClrObject.IsNull"/> is <see langword="true"/>.</exception>
1308 <member name="M:Microsoft.Diagnostics.Runtime.ClrObject.ReadValueTypeField(System.String)">
1311 <param name="fieldName"></param>
1314 <member name="M:Microsoft.Diagnostics.Runtime.ClrObject.ReadField``1(System.String)">
1316 Gets the value of a primitive field. This will throw an InvalidCastException if the type parameter
1317 does not match the field's type.
1319 <typeparam name="T">The type of the field itself.</typeparam>
1320 <param name="fieldName">The name of the field.</param>
1321 <returns>The value of this field.</returns>
1323 <member name="M:Microsoft.Diagnostics.Runtime.ClrObject.ReadStringField(System.String,System.Int32)">
1325 Gets a string field from the object. Note that the type must match exactly, as this method
1326 will not do type coercion.
1328 <param name="fieldName">The name of the field to get the value for.</param>
1329 <param name="maxLength">The maximum length of the string returned. Warning: If the DataTarget
1330 being inspected has corrupted or an inconsistent heap state, the length of a string may be
1331 incorrect, leading to OutOfMemory and other failures.</param>
1332 <returns>The value of the given field.</returns>
1333 <exception cref="T:System.ArgumentException">No field matches the given name.</exception>
1334 <exception cref="T:System.InvalidOperationException">
1335 The target object is <see langword="null"/> (that is, <see cref="P:Microsoft.Diagnostics.Runtime.ClrObject.IsNull"/> is <see langword="true"/>).
1337 The field is not of the correct type.
1340 <member name="M:Microsoft.Diagnostics.Runtime.ClrObject.Equals(Microsoft.Diagnostics.Runtime.ClrObject)">
1342 Determines if this instance and another specific <see cref="T:Microsoft.Diagnostics.Runtime.ClrObject" /> have the same value.
1343 <para>Instances are considered equal when they have same <see cref="P:Microsoft.Diagnostics.Runtime.ClrObject.Address" />.</para>
1345 <param name="other">The <see cref="T:Microsoft.Diagnostics.Runtime.ClrObject" /> to compare to this instance.</param>
1346 <returns><see langword="true"/> if the <see cref="P:Microsoft.Diagnostics.Runtime.ClrObject.Address" /> of the parameter is same as <see cref="P:Microsoft.Diagnostics.Runtime.ClrObject.Address" /> in this instance; <see langword="false"/> otherwise.</returns>
1348 <member name="M:Microsoft.Diagnostics.Runtime.ClrObject.Equals(System.Object)">
1350 Determines whether this instance and a specified object, which must also be a <see cref="T:Microsoft.Diagnostics.Runtime.ClrObject" />, have the same value.
1352 <param name="obj">The <see cref="T:Microsoft.Diagnostics.Runtime.ClrObject" /> to compare to this instance.</param>
1354 <see langword="true"/> if <paramref name="obj" /> is <see cref="T:Microsoft.Diagnostics.Runtime.ClrObject" />, and its <see cref="P:Microsoft.Diagnostics.Runtime.ClrObject.Address" /> is same as <see cref="P:Microsoft.Diagnostics.Runtime.ClrObject.Address" /> in this instance; <see langword="false"/>
1358 <member name="M:Microsoft.Diagnostics.Runtime.ClrObject.GetHashCode">
1360 Returns the hash code for this <see cref="T:Microsoft.Diagnostics.Runtime.ClrObject" /> based on its <see cref="P:Microsoft.Diagnostics.Runtime.ClrObject.Address" />.
1362 <returns>An <see cref="T:System.Int32" /> hash code for this instance.</returns>
1364 <member name="M:Microsoft.Diagnostics.Runtime.ClrObject.op_Equality(Microsoft.Diagnostics.Runtime.ClrObject,Microsoft.Diagnostics.Runtime.ClrObject)">
1366 Determines whether two specified <see cref="T:Microsoft.Diagnostics.Runtime.ClrObject" /> have the same value.
1368 <param name="left">First <see cref="T:Microsoft.Diagnostics.Runtime.ClrObject" /> to compare.</param>
1369 <param name="right">Second <see cref="T:Microsoft.Diagnostics.Runtime.ClrObject" /> to compare.</param>
1370 <returns><see langword="true"/> if <paramref name="left" /> <see cref="M:Microsoft.Diagnostics.Runtime.ClrObject.Equals(Microsoft.Diagnostics.Runtime.ClrObject)" /> <paramref name="right" />; <see langword="false"/> otherwise.</returns>
1372 <member name="M:Microsoft.Diagnostics.Runtime.ClrObject.op_Inequality(Microsoft.Diagnostics.Runtime.ClrObject,Microsoft.Diagnostics.Runtime.ClrObject)">
1374 Determines whether two specified <see cref="T:Microsoft.Diagnostics.Runtime.ClrObject" /> have different values.
1376 <param name="left">First <see cref="T:Microsoft.Diagnostics.Runtime.ClrObject" /> to compare.</param>
1377 <param name="right">Second <see cref="T:Microsoft.Diagnostics.Runtime.ClrObject" /> to compare.</param>
1378 <returns><see langword="true"/> if the value of <paramref name="left" /> is different from the value of <paramref name="right" />; <see langword="false"/> otherwise.</returns>
1380 <member name="M:Microsoft.Diagnostics.Runtime.ClrObject.ToString">
1386 <member name="P:Microsoft.Diagnostics.Runtime.ClrReference.Object">
1388 The object that <see cref="P:Microsoft.Diagnostics.Runtime.ClrReference.Field"/> contained.
1391 <member name="P:Microsoft.Diagnostics.Runtime.ClrReference.Offset">
1393 The offset into the containing object this address is found at. Only valid if <see cref="P:Microsoft.Diagnostics.Runtime.ClrReference.IsField"/> is true.
1396 <member name="P:Microsoft.Diagnostics.Runtime.ClrReference.InnerField">
1398 Resolves the inner field reference for value types.
1401 <member name="P:Microsoft.Diagnostics.Runtime.ClrReference.Field">
1403 The field this object was contained in. This property may be null if this reference came from
1404 a DependentHandle or if the reference came from an array entry.
1405 Only valid to call if <see cref="P:Microsoft.Diagnostics.Runtime.ClrReference.IsField"/> is true.
1408 <member name="P:Microsoft.Diagnostics.Runtime.ClrReference.IsDependentHandle">
1410 Returns true if this reference came from a dependent handle.
1413 <member name="P:Microsoft.Diagnostics.Runtime.ClrReference.IsField">
1415 Returns true if this reference came from a field in another object.
1418 <member name="P:Microsoft.Diagnostics.Runtime.ClrReference.IsArrayElement">
1420 Returns true if this reference came from an entry in an array.
1423 <member name="M:Microsoft.Diagnostics.Runtime.ClrReference.CreateFromDependentHandle(Microsoft.Diagnostics.Runtime.ClrObject)">
1425 Create a field reference from a dependent handle value. We do not keep track of the dependent handle it came from
1426 so we don't accept the value here.
1428 <param name="reference">The object referenced.</param>
1430 <member name="M:Microsoft.Diagnostics.Runtime.ClrReference.CreateFromFieldOrArray(Microsoft.Diagnostics.Runtime.ClrObject,Microsoft.Diagnostics.Runtime.ClrType,System.Int32)">
1432 Creates a ClrFieldReference from an actual field.
1434 <param name="reference">The object referenced.</param>
1435 <param name="containingType">The type of the object which points to <paramref name="reference"/>.</param>
1436 <param name="offset">The offset within the source object where <paramref name="reference"/> was located. This offset
1437 should start from where the object's data starts (IE this offset should NOT contain the MethodTable in the offset
1438 calculation.</param>
1440 <member name="T:Microsoft.Diagnostics.Runtime.ClrRootKind">
1442 The type of GCRoot that a ClrRoot represents.
1445 <member name="F:Microsoft.Diagnostics.Runtime.ClrRootKind.None">
1447 This is not a gc root. This will not be enumerated out of ClrHeap.EnumerateRoots, but
1448 could be seen when using ClrRuntime.EnumerateHandles.
1451 <member name="F:Microsoft.Diagnostics.Runtime.ClrRootKind.FinalizerQueue">
1453 The root comes from the finalizer queue.
1456 <member name="F:Microsoft.Diagnostics.Runtime.ClrRootKind.StrongHandle">
1458 The root is a strong handle.
1461 <member name="F:Microsoft.Diagnostics.Runtime.ClrRootKind.PinnedHandle">
1463 The root is a strong pinned handle.
1466 <member name="F:Microsoft.Diagnostics.Runtime.ClrRootKind.Stack">
1468 The root is on the stack of a thread. This is usually a is a local variable
1469 (or compiler generated temporary variable).
1472 <member name="F:Microsoft.Diagnostics.Runtime.ClrRootKind.RefCountedHandle">
1474 The root is a ref counted handle.
1477 <member name="F:Microsoft.Diagnostics.Runtime.ClrRootKind.AsyncPinnedHandle">
1479 The root is an async IO (strong) pinned handle.
1482 <member name="F:Microsoft.Diagnostics.Runtime.ClrRootKind.SizedRefHandle">
1484 The root is a SizedRef handle.
1487 <member name="T:Microsoft.Diagnostics.Runtime.ClrRuntime">
1489 Represents a single runtime in a target process or crash dump. This serves as the primary
1490 entry point for getting diagnostic information.
1493 <member name="P:Microsoft.Diagnostics.Runtime.ClrRuntime.DacLibrary">
1495 Used for internal purposes.
1498 <member name="P:Microsoft.Diagnostics.Runtime.ClrRuntime.ClrInfo">
1500 Gets the <see cref="P:Microsoft.Diagnostics.Runtime.ClrRuntime.ClrInfo"/> of the current runtime.
1503 <member name="P:Microsoft.Diagnostics.Runtime.ClrRuntime.DataTarget">
1505 Gets the <see cref="P:Microsoft.Diagnostics.Runtime.ClrRuntime.DataTarget"/> associated with this runtime.
1508 <member name="P:Microsoft.Diagnostics.Runtime.ClrRuntime.IsThreadSafe">
1510 Returns whether you are allowed to call into the transitive closure of ClrMD objects created from
1511 this runtime on multiple threads.
1514 <member name="P:Microsoft.Diagnostics.Runtime.ClrRuntime.AppDomains">
1516 Gets the list of appdomains in the process.
1519 <member name="P:Microsoft.Diagnostics.Runtime.ClrRuntime.SystemDomain">
1521 Gets the System AppDomain for Desktop CLR (<see langword="null"/> on .NET Core).
1524 <member name="P:Microsoft.Diagnostics.Runtime.ClrRuntime.SharedDomain">
1526 Gets the Shared AppDomain for Desktop CLR (<see langword="null"/> on .NET Core).
1529 <member name="P:Microsoft.Diagnostics.Runtime.ClrRuntime.Threads">
1531 Gets all managed threads in the process. Only threads which have previously run managed
1532 code will be enumerated.
1535 <member name="M:Microsoft.Diagnostics.Runtime.ClrRuntime.GetMethodByHandle(System.UInt64)">
1537 Returns a ClrMethod by its internal runtime handle (on desktop CLR this is a MethodDesc).
1539 <param name="methodHandle">The method handle (MethodDesc) to look up.</param>
1540 <returns>The ClrMethod for the given method handle, or <see langword="null"/> if no method was found.</returns>
1542 <member name="M:Microsoft.Diagnostics.Runtime.ClrRuntime.GetTypeByMethodTable(System.UInt64)">
1544 Gets the <see cref="T:Microsoft.Diagnostics.Runtime.ClrType"/> corresponding to the given MethodTable.
1546 <param name="methodTable">The ClrType.MethodTable for the requested type.</param>
1547 <returns>A ClrType object, or <see langword="null"/> if no such type exists.</returns>
1549 <member name="M:Microsoft.Diagnostics.Runtime.ClrRuntime.EnumerateHandles">
1551 Enumerates a list of GC handles currently in the process. Note that this list may be incomplete
1552 depending on the state of the process when we attempt to walk the handle table.
1554 <returns>The list of GC handles in the process, NULL on catastrophic error.</returns>
1556 <member name="P:Microsoft.Diagnostics.Runtime.ClrRuntime.Heap">
1558 Gets the GC heap of the process.
1561 <member name="M:Microsoft.Diagnostics.Runtime.ClrRuntime.GetMethodByInstructionPointer(System.UInt64)">
1563 Attempts to get a ClrMethod for the given instruction pointer. This will return NULL if the
1564 given instruction pointer is not within any managed method.
1567 <member name="M:Microsoft.Diagnostics.Runtime.ClrRuntime.EnumerateModules">
1569 Enumerate all managed modules in the runtime.
1572 <member name="M:Microsoft.Diagnostics.Runtime.ClrRuntime.FlushCachedData">
1574 Flushes the DAC cache. This function MUST be called any time you expect to call the same function
1575 but expect different results. For example, after walking the heap, you need to call Flush before
1576 attempting to walk the heap again. After calling this function, you must discard ALL ClrMD objects
1577 you have cached other than DataTarget and ClrRuntime and re-request the objects and data you need.
1578 (e.g. if you want to use the ClrHeap object after calling flush, you must call ClrRuntime.GetHeap
1579 again after Flush to get a new instance.)
1582 <member name="M:Microsoft.Diagnostics.Runtime.ClrRuntime.GetJitHelperFunctionName(System.UInt64)">
1584 Gets the name of a JIT helper function.
1586 <param name="address">Address of a possible JIT helper function.</param>
1587 <returns>The name of the JIT helper function or <see langword="null"/> if <paramref name="address"/> isn't a JIT helper function.</returns>
1589 <member name="M:Microsoft.Diagnostics.Runtime.ClrRuntime.Dispose">
1591 Cleans up all resources and releases them. You may not use this ClrRuntime or any object it transitively
1592 created after calling this method.
1595 <member name="M:Microsoft.Diagnostics.Runtime.ClrRuntime.Dispose(System.Boolean)">
1597 Called when disposing ClrRuntime.
1599 <param name="disposing">Whether Dispose() was called or not.</param>
1601 <member name="T:Microsoft.Diagnostics.Runtime.ClrSegment">
1603 A ClrSegment represents a contiguous region of memory that is devoted to the GC heap.
1604 Segments. It has a start and end and knows what heap it belongs to. Segments can
1605 optional have regions for Gen 0, 1 and 2, and Large properties.
1608 <member name="P:Microsoft.Diagnostics.Runtime.ClrSegment.Heap">
1610 Gets the GC heap associated with this segment. There's only one GCHeap per process, so this is
1611 only a convenience method to keep from having to pass the heap along with a segment.
1614 <member name="P:Microsoft.Diagnostics.Runtime.ClrSegment.ObjectRange">
1616 The memory range of the segment on which objects are allocated. All objects in this segment fall within this range.
1619 <member name="P:Microsoft.Diagnostics.Runtime.ClrSegment.Start">
1621 Gets the start address of the segment. Equivalent to <see cref="P:Microsoft.Diagnostics.Runtime.ClrSegment.ObjectRange"/>.<see cref="P:Microsoft.Diagnostics.Runtime.ClrSegment.Start"/>.
1624 <member name="P:Microsoft.Diagnostics.Runtime.ClrSegment.End">
1626 Gets the end address of the segment. Equivalent to <see cref="P:Microsoft.Diagnostics.Runtime.ClrSegment.ObjectRange"/>.<see cref="P:Microsoft.Diagnostics.Runtime.ClrSegment.Length"/>.
1629 <member name="P:Microsoft.Diagnostics.Runtime.ClrSegment.Length">
1631 Equivalent to <see cref="P:Microsoft.Diagnostics.Runtime.ClrSegment.ObjectRange"/>.<see cref="P:Microsoft.Diagnostics.Runtime.ClrSegment.Length"/>.
1634 <member name="P:Microsoft.Diagnostics.Runtime.ClrSegment.LogicalHeap">
1636 Gets the processor that this heap is affinitized with. In a workstation GC, there is no processor
1637 affinity (and the return value of this property is undefined). In a server GC each segment
1638 has a logical processor in the PC associated with it. This property returns that logical
1639 processor number (starting at 0).
1642 <member name="P:Microsoft.Diagnostics.Runtime.ClrSegment.ReservedMemory">
1644 Gets the range of memory reserved (but not committed) for this segment.
1647 <member name="P:Microsoft.Diagnostics.Runtime.ClrSegment.CommittedMemory">
1649 Gets the range of memory committed for the segment (this may be larger than MemoryRange).
1652 <member name="P:Microsoft.Diagnostics.Runtime.ClrSegment.FirstObjectAddress">
1654 Gets the first object on this segment or 0 if this segment contains no objects.
1657 <member name="P:Microsoft.Diagnostics.Runtime.ClrSegment.IsLargeObjectSegment">
1659 Returns true if this is a segment for the Large Object Heap. False otherwise.
1660 Large objects (greater than 85,000 bytes in size), are stored in their own segments and
1661 only collected on full (gen 2) collections.
1664 <member name="P:Microsoft.Diagnostics.Runtime.ClrSegment.IsPinnedObjectSegment">
1666 Returns true if this is a segment for the Pinned Object Heap. False otherwise.
1669 <member name="P:Microsoft.Diagnostics.Runtime.ClrSegment.IsEphemeralSegment">
1671 Returns true if this segment is the ephemeral segment (meaning it contains gen0 and gen1
1675 <member name="P:Microsoft.Diagnostics.Runtime.ClrSegment.Generation0">
1677 The memory range for Generation 0 on this segment. This will be empty if <see cref="P:Microsoft.Diagnostics.Runtime.ClrSegment.IsEphemeralSegment"/> is false.
1680 <member name="P:Microsoft.Diagnostics.Runtime.ClrSegment.Generation1">
1682 The memory range for Generation 1 on this segment. This will be empty if <see cref="P:Microsoft.Diagnostics.Runtime.ClrSegment.IsEphemeralSegment"/> is false.
1685 <member name="P:Microsoft.Diagnostics.Runtime.ClrSegment.Generation2">
1687 The memory range for Generation 2 on this segment. This will be equivalent to ObjectRange if <see cref="P:Microsoft.Diagnostics.Runtime.ClrSegment.IsEphemeralSegment"/> is false.
1690 <member name="M:Microsoft.Diagnostics.Runtime.ClrSegment.EnumerateObjects">
1692 Enumerates all objects on the segment.
1695 <member name="M:Microsoft.Diagnostics.Runtime.ClrSegment.GetNextObjectAddress(System.UInt64)">
1697 Returns the object after the given object.
1699 <param name="obj">A valid object address that resides on this segment.</param>
1700 <returns>The next object on this segment, or 0 if <paramref name="obj"/> is the last object on the segment.</returns>
1702 <member name="M:Microsoft.Diagnostics.Runtime.ClrSegment.GetPreviousObjectAddress(System.UInt64)">
1704 Returns the object before the given object. Note that this function may take a while because in the worst case
1705 scenario we have to linearly walk all the way from the beginning of the segment to the object.
1707 <param name="obj">An address that resides on this segment. This does not need to point directly to a good object.</param>
1708 <returns>The previous object on this segment, or 0 if <paramref name="obj"/> is the first object on the segment.</returns>
1710 <member name="M:Microsoft.Diagnostics.Runtime.ClrSegment.GetGeneration(System.UInt64)">
1712 Returns the generation of an object in this segment.
1714 <param name="obj">An object in this segment.</param>
1716 The generation of the given object if that object lies in this segment. The return
1717 value is undefined if the object does not lie in this segment.
1720 <member name="M:Microsoft.Diagnostics.Runtime.ClrSegment.ToString">
1722 Returns a string representation of this object.
1724 <returns>A string representation of this object.</returns>
1726 <member name="T:Microsoft.Diagnostics.Runtime.ClrStackFrame">
1728 A frame in a managed stack trace. Note you can call ToString on an instance of this object to get the
1729 function name (or clr!Frame name) similar to SOS's !clrstack output.
1732 <member name="P:Microsoft.Diagnostics.Runtime.ClrStackFrame.Thread">
1734 The thread parent of this frame. Note that this may be null when inspecting the stack of ClrExceptions.
1737 <member name="P:Microsoft.Diagnostics.Runtime.ClrStackFrame.Context">
1739 Gets this stack frame context.
1742 <member name="P:Microsoft.Diagnostics.Runtime.ClrStackFrame.InstructionPointer">
1744 Gets the instruction pointer of this frame.
1747 <member name="P:Microsoft.Diagnostics.Runtime.ClrStackFrame.StackPointer">
1749 Gets the stack pointer of this frame.
1752 <member name="P:Microsoft.Diagnostics.Runtime.ClrStackFrame.Kind">
1754 Gets the type of frame (managed or internal).
1757 <member name="P:Microsoft.Diagnostics.Runtime.ClrStackFrame.Method">
1759 Gets the <see cref="T:Microsoft.Diagnostics.Runtime.ClrMethod"/> which corresponds to the current stack frame. This may be <see langword="null"/> if the
1760 current frame is actually a CLR "Internal Frame" representing a marker on the stack, and that
1761 stack marker does not have a managed method associated with it.
1764 <member name="P:Microsoft.Diagnostics.Runtime.ClrStackFrame.FrameName">
1766 Gets the helper method frame name if <see cref="P:Microsoft.Diagnostics.Runtime.ClrStackFrame.Kind"/> is <see cref="F:Microsoft.Diagnostics.Runtime.ClrStackFrameKind.Runtime"/>, <see langword="null"/> otherwise.
1769 <member name="T:Microsoft.Diagnostics.Runtime.ClrStackFrameKind">
1771 The type of frame the ClrStackFrame represents.
1774 <member name="F:Microsoft.Diagnostics.Runtime.ClrStackFrameKind.Unknown">
1776 Indicates this stack frame is unknown
1779 <member name="F:Microsoft.Diagnostics.Runtime.ClrStackFrameKind.ManagedMethod">
1781 Indicates this stack frame is a standard managed method.
1784 <member name="F:Microsoft.Diagnostics.Runtime.ClrStackFrameKind.Runtime">
1786 Indicates this stack frame is a special stack marker that the CLR leaves on the stack.
1787 Note that the <see cref="T:Microsoft.Diagnostics.Runtime.ClrStackFrame"/> may still have a <see cref="T:Microsoft.Diagnostics.Runtime.ClrMethod"/> associated with the marker.
1790 <member name="M:Microsoft.Diagnostics.Runtime.ClrStackInteriorRoot.ToString">
1796 <member name="T:Microsoft.Diagnostics.Runtime.ClrStaticField">
1798 Represents a static field in the target process.
1801 <member name="M:Microsoft.Diagnostics.Runtime.ClrStaticField.IsInitialized(Microsoft.Diagnostics.Runtime.ClrAppDomain)">
1803 Returns whether this static field has been initialized in a particular AppDomain
1804 or not. If a static variable has not been initialized, then its class constructor
1805 may have not been run yet. Calling any of the Read* methods on an uninitialized static
1806 will result in returning either NULL or a value of 0.
1808 <param name="appDomain">The AppDomain to see if the variable has been initialized.</param>
1810 True if the field has been initialized (even if initialized to NULL or a default
1811 value), false if the runtime has not initialized this variable.
1814 <member name="M:Microsoft.Diagnostics.Runtime.ClrStaticField.GetAddress(Microsoft.Diagnostics.Runtime.ClrAppDomain)">
1816 Gets the address of the static field's value in memory.
1818 <returns>The address of the field's value.</returns>
1820 <member name="M:Microsoft.Diagnostics.Runtime.ClrStaticField.Read``1(Microsoft.Diagnostics.Runtime.ClrAppDomain)">
1822 Reads the value of the field as an unmanaged struct or primitive type.
1824 <typeparam name="T">An unmanaged struct or primitive type.</typeparam>
1825 <returns>The value read.</returns>
1827 <member name="M:Microsoft.Diagnostics.Runtime.ClrStaticField.ReadObject(Microsoft.Diagnostics.Runtime.ClrAppDomain)">
1829 Reads the value of an object field.
1831 <returns>The value read.</returns>
1833 <member name="M:Microsoft.Diagnostics.Runtime.ClrStaticField.ReadStruct(Microsoft.Diagnostics.Runtime.ClrAppDomain)">
1835 Reads a ValueType struct from the instance field.
1837 <returns>The value read.</returns>
1839 <member name="M:Microsoft.Diagnostics.Runtime.ClrStaticField.ReadString(Microsoft.Diagnostics.Runtime.ClrAppDomain)">
1841 Reads a string from the instance field.
1843 <returns>The value read.</returns>
1845 <member name="T:Microsoft.Diagnostics.Runtime.ClrThread">
1847 Represents a managed thread in the target process. Note this does not wrap purely native threads
1848 in the target process (that is, threads which have never run managed code before).
1851 <member name="P:Microsoft.Diagnostics.Runtime.ClrThread.Runtime">
1853 Gets the runtime associated with this thread.
1856 <member name="P:Microsoft.Diagnostics.Runtime.ClrThread.GCMode">
1858 Gets the suspension state of the thread according to the runtime.
1861 <member name="P:Microsoft.Diagnostics.Runtime.ClrThread.IsFinalizer">
1863 Gets a value indicating whether this is the finalizer thread.
1866 <member name="P:Microsoft.Diagnostics.Runtime.ClrThread.Address">
1868 Gets the address of the underlying datastructure which makes up the Thread object. This
1869 serves as a unique identifier.
1872 <member name="P:Microsoft.Diagnostics.Runtime.ClrThread.IsAlive">
1874 Returns true if the thread is alive in the process, false if this thread was recently terminated.
1877 <member name="P:Microsoft.Diagnostics.Runtime.ClrThread.OSThreadId">
1879 Gets the OS thread id for the thread.
1882 <member name="P:Microsoft.Diagnostics.Runtime.ClrThread.ManagedThreadId">
1884 Gets the managed thread ID (this is equivalent to <see cref="P:System.Threading.Thread.ManagedThreadId"/>
1885 in the target process).
1888 <member name="P:Microsoft.Diagnostics.Runtime.ClrThread.CurrentAppDomain">
1890 Gets the AppDomain the thread is running in.
1893 <member name="P:Microsoft.Diagnostics.Runtime.ClrThread.LockCount">
1895 Gets the number of managed locks (Monitors) the thread has currently entered but not left.
1896 This will be highly inconsistent unless the process is stopped.
1899 <member name="P:Microsoft.Diagnostics.Runtime.ClrThread.StackBase">
1901 Gets the base of the stack for this thread, or 0 if the value could not be obtained.
1904 <member name="P:Microsoft.Diagnostics.Runtime.ClrThread.StackLimit">
1906 Gets the limit of the stack for this thread, or 0 if the value could not be obtained.
1909 <member name="M:Microsoft.Diagnostics.Runtime.ClrThread.EnumerateStackRoots">
1911 Enumerates the GC references (objects) on the stack. The returned IClrRoot may either be an
1912 <see cref="T:Microsoft.Diagnostics.Runtime.ClrStackRoot"/> or a <see cref="T:Microsoft.Diagnostics.Runtime.ClrStackInteriorRoot"/>.
1914 <returns>An enumeration of GC references on the stack as the GC sees them.</returns>
1916 <member name="M:Microsoft.Diagnostics.Runtime.ClrThread.EnumerateStackTrace(System.Boolean)">
1918 Enumerates a stack trace for a given thread. Note this method may loop infinitely in the case of
1919 stack corruption or other stack unwind issues which can happen in practice. When enumerating frames
1920 out of this method you should be careful to either set a maximum loop count, or to ensure the stack
1921 unwind is making progress by ensuring that ClrStackFrame.StackPointer is making progress (though it
1922 is expected that sometimes two frames may return the same StackPointer in some corner cases).
1924 <returns>An enumeration of stack frames.</returns>
1926 <member name="P:Microsoft.Diagnostics.Runtime.ClrThread.CurrentException">
1928 Gets the exception currently on the thread. Note that this field may be <see langword="null"/>. Also note
1929 that this is basically the "last thrown exception", and may be stale...meaning the thread could
1930 be done processing the exception but a crash dump was taken before the current exception was
1931 cleared off the field.
1934 <member name="P:Microsoft.Diagnostics.Runtime.ClrThread.IsAbortRequested">
1936 Gets a value indicating whether an abort was requested for this thread (such as <see cref="M:System.Threading.Thread.Abort"/>, or <see cref="M:System.AppDomain.Unload(System.AppDomain)"/>).
1939 <member name="P:Microsoft.Diagnostics.Runtime.ClrThread.IsAborted">
1941 Gets a value indicating whether this thread was aborted.
1944 <member name="P:Microsoft.Diagnostics.Runtime.ClrThread.IsGCSuspendPending">
1946 Gets a value indicating whether the GC is attempting to suspend this thread.
1949 <member name="P:Microsoft.Diagnostics.Runtime.ClrThread.IsUserSuspended">
1951 Gets a value indicating whether the user has suspended the thread (using <see cref="M:System.Threading.Thread.Suspend"/>).
1954 <member name="P:Microsoft.Diagnostics.Runtime.ClrThread.IsDebugSuspended">
1956 Gets a value indicating whether the debugger has suspended the thread.
1959 <member name="P:Microsoft.Diagnostics.Runtime.ClrThread.IsBackground">
1961 Gets a value indicating whether this thread is a background thread. (That is, if the thread does not keep the
1962 managed execution environment alive and running.)
1965 <member name="P:Microsoft.Diagnostics.Runtime.ClrThread.IsUnstarted">
1967 Gets a value indicating whether this thread was created, but not started.
1970 <member name="P:Microsoft.Diagnostics.Runtime.ClrThread.IsCoInitialized">
1972 Gets a value indicating whether the CLR called <c>CoInitialize</c> for this thread.
1975 <member name="P:Microsoft.Diagnostics.Runtime.ClrThread.IsSTA">
1977 Gets a value indicating whether this thread is in a COM single threaded apartment.
1980 <member name="P:Microsoft.Diagnostics.Runtime.ClrThread.IsMTA">
1982 Gets a value indicating whether the thread is a COM multithreaded apartment.
1985 <member name="T:Microsoft.Diagnostics.Runtime.ClrType">
1987 A representation of a type in the target process.
1990 <member name="P:Microsoft.Diagnostics.Runtime.ClrType.GCDesc">
1992 Gets the <see cref="P:Microsoft.Diagnostics.Runtime.ClrType.GCDesc"/> associated with this type. Only valid if <see cref="P:Microsoft.Diagnostics.Runtime.ClrType.ContainsPointers"/> is <see langword="true"/>.
1995 <member name="P:Microsoft.Diagnostics.Runtime.ClrType.MethodTable">
1997 Gets the MethodTable of this type (this is the TypeHandle if this is a type without a MethodTable).
2000 <member name="P:Microsoft.Diagnostics.Runtime.ClrType.MetadataToken">
2002 Gets the metadata token of this type.
2005 <member name="P:Microsoft.Diagnostics.Runtime.ClrType.Name">
2007 Gets the name of this type.
2010 <member name="P:Microsoft.Diagnostics.Runtime.ClrType.ContainsPointers">
2012 Gets a value indicating whether the type <b>can</b> contain references to other objects. This is used in optimizations
2013 and 'true' can always be returned safely.
2016 <member name="P:Microsoft.Diagnostics.Runtime.ClrType.IsCollectible">
2018 Gets a value indicating whether this is a collectible type.
2021 <member name="P:Microsoft.Diagnostics.Runtime.ClrType.LoaderAllocatorHandle">
2023 Gets the handle to the <c>LoaderAllocator</c> object for collectible types.
2026 <member name="P:Microsoft.Diagnostics.Runtime.ClrType.AssemblyLoadContextAddress">
2028 Gets the address of the <c>AssemblyLoadContext</c> object.
2031 <member name="P:Microsoft.Diagnostics.Runtime.ClrType.Heap">
2033 Gets the <see cref="T:Microsoft.Diagnostics.Runtime.ClrHeap"/> this type belongs to.
2036 <member name="P:Microsoft.Diagnostics.Runtime.ClrType.Module">
2038 Gets the module this type is defined in.
2041 <member name="P:Microsoft.Diagnostics.Runtime.ClrType.ElementType">
2043 Gets the <see cref="T:Microsoft.Diagnostics.Runtime.ClrElementType"/> of this Type. Can return <see cref="F:Microsoft.Diagnostics.Runtime.ClrElementType.Unknown"/> on error.
2046 <member name="P:Microsoft.Diagnostics.Runtime.ClrType.IsPrimitive">
2048 Gets a value indicating whether this type is a primitive (<see cref="T:System.Int32"/>, <see cref="T:System.Single"/>, etc).
2050 <returns>True if this type is a primitive (<see cref="T:System.Int32"/>, <see cref="T:System.Single"/>, etc), false otherwise.</returns>
2052 <member name="P:Microsoft.Diagnostics.Runtime.ClrType.IsValueType">
2054 Gets a value indicating whether this type is a value type.
2056 <returns>True if this type is a value type, false otherwise.</returns>
2058 <member name="P:Microsoft.Diagnostics.Runtime.ClrType.IsObjectReference">
2060 Gets a value indicating whether this type is an object reference.
2062 <returns>True if this type is an object reference, false otherwise.</returns>
2064 <member name="M:Microsoft.Diagnostics.Runtime.ClrType.EnumerateGenericParameters">
2066 Enumerates the generic parameters of this type.
2069 <member name="M:Microsoft.Diagnostics.Runtime.ClrType.EnumerateInterfaces">
2071 Returns the list of interfaces this type implements.
2074 <member name="M:Microsoft.Diagnostics.Runtime.ClrType.IsFinalizeSuppressed(System.UInt64)">
2076 Returns true if the finalization is suppressed for an object (the user program called
2077 <see cref="M:System.GC.SuppressFinalize(System.Object)"/>). The behavior of this function is undefined if the object itself
2081 <member name="P:Microsoft.Diagnostics.Runtime.ClrType.IsFinalizable">
2083 Gets a value indicating whether objects of this type are finalizable.
2086 <member name="P:Microsoft.Diagnostics.Runtime.ClrType.IsPublic">
2088 Gets a value indicating whether this type is marked Public.
2091 <member name="P:Microsoft.Diagnostics.Runtime.ClrType.IsPrivate">
2093 Gets a value indicating whether this type is marked Private.
2096 <member name="P:Microsoft.Diagnostics.Runtime.ClrType.IsInternal">
2098 Gets a value indicating whether this type is accessible only by items in its own assembly.
2101 <member name="P:Microsoft.Diagnostics.Runtime.ClrType.IsProtected">
2103 Gets a value indicating whether this nested type is accessible only by subtypes of its outer type.
2106 <member name="P:Microsoft.Diagnostics.Runtime.ClrType.IsAbstract">
2108 Gets a value indicating whether this class is abstract.
2111 <member name="P:Microsoft.Diagnostics.Runtime.ClrType.IsSealed">
2113 Gets a value indicating whether this class is sealed.
2116 <member name="P:Microsoft.Diagnostics.Runtime.ClrType.IsInterface">
2118 Gets a value indicating whether this type is an interface.
2121 <member name="P:Microsoft.Diagnostics.Runtime.ClrType.Fields">
2123 Gets all possible fields in this type. It does not return dynamically typed fields.
2124 Returns an empty list if there are no fields.
2127 <member name="P:Microsoft.Diagnostics.Runtime.ClrType.StaticFields">
2129 Gets a list of static fields on this type. Returns an empty list if there are no fields.
2132 <member name="P:Microsoft.Diagnostics.Runtime.ClrType.Methods">
2134 Gets the list of methods this type implements.
2137 <member name="M:Microsoft.Diagnostics.Runtime.ClrType.GetFieldByName(System.String)">
2139 Returns the field given by <paramref name="name"/>, case sensitive. Returns <see langword="null" /> if no such field name exists (or on error).
2142 <member name="M:Microsoft.Diagnostics.Runtime.ClrType.GetStaticFieldByName(System.String)">
2144 Returns the field given by <paramref name="name"/>, case sensitive. Returns <see langword="null" /> if no such field name exists (or on error).
2147 <member name="P:Microsoft.Diagnostics.Runtime.ClrType.BaseType">
2149 If this type inherits from another type, this is that type. Can return <see langword="null"/> if it does not inherit (or is unknown).
2152 <member name="P:Microsoft.Diagnostics.Runtime.ClrType.IsPointer">
2154 Gets a value indicating whether the type is in fact a pointer. If so, the pointer operators
2158 <member name="P:Microsoft.Diagnostics.Runtime.ClrType.ComponentType">
2160 Gets the type of the element referenced by the pointer.
2163 <member name="P:Microsoft.Diagnostics.Runtime.ClrType.IsArray">
2165 A type is an array if you can use the array operators below, Abstractly arrays are objects
2166 that whose children are not statically known by just knowing the type.
2169 <member name="M:Microsoft.Diagnostics.Runtime.ClrType.GetArrayElementAddress(System.UInt64,System.Int32)">
2171 Returns the absolute address to the given array element. You may then make a direct memory read out
2172 of the process to get the value if you want.
2175 <member name="M:Microsoft.Diagnostics.Runtime.ClrType.ReadArrayElements``1(System.UInt64,System.Int32,System.Int32)">
2177 Returns multiple consecutive array element values.
2180 <member name="P:Microsoft.Diagnostics.Runtime.ClrType.StaticSize">
2182 Gets the static size of objects of this type when they are created on the CLR heap.
2185 <member name="P:Microsoft.Diagnostics.Runtime.ClrType.ComponentSize">
2187 Gets the size of elements of this object.
2190 <member name="P:Microsoft.Diagnostics.Runtime.ClrType.IsString">
2192 Gets a value indicating whether this type is <see cref="T:System.String"/>.
2195 <member name="P:Microsoft.Diagnostics.Runtime.ClrType.IsFree">
2197 Gets a value indicating whether this type represents free space on the heap.
2200 <member name="P:Microsoft.Diagnostics.Runtime.ClrType.IsException">
2202 Gets a value indicating whether this type is an exception (that is, it derives from <see cref="T:System.Exception"/>).
2205 <member name="P:Microsoft.Diagnostics.Runtime.ClrType.IsEnum">
2207 Gets a value indicating whether this type is an enum.
2210 <member name="M:Microsoft.Diagnostics.Runtime.ClrType.AsEnum">
2212 Returns the <see cref="T:Microsoft.Diagnostics.Runtime.ClrEnum"/> representation of this type.
2214 <returns>The <see cref="T:Microsoft.Diagnostics.Runtime.ClrEnum"/> representation of this type.</returns>
2215 <exception cref="T:System.InvalidOperationException"><see cref="P:Microsoft.Diagnostics.Runtime.ClrType.IsEnum"/> is <see langword="false"/>.</exception>
2217 <member name="P:Microsoft.Diagnostics.Runtime.ClrType.IsShared">
2219 Gets a value indicating whether this type is shared across multiple AppDomains.
2222 <member name="M:Microsoft.Diagnostics.Runtime.ClrType.ToString">
2224 Returns a string representation of this object.
2226 <returns>A string representation of this object.</returns>
2228 <member name="P:Microsoft.Diagnostics.Runtime.ClrType.ClrObjectHelpers">
2230 Used to provide functionality to ClrObject.
2233 <member name="T:Microsoft.Diagnostics.Runtime.ClrValueType">
2235 Represents an instance of a type which inherits from <see cref="T:System.ValueType"/>.
2238 <member name="P:Microsoft.Diagnostics.Runtime.ClrValueType.Address">
2240 Gets the address of the object.
2243 <member name="P:Microsoft.Diagnostics.Runtime.ClrValueType.Type">
2245 Gets the type of the object.
2248 <member name="P:Microsoft.Diagnostics.Runtime.ClrValueType.IsValid">
2250 Returns whether this ClrValueType has a valid Type. In most normal operations of ClrMD, we will have a
2251 non-null type. However if we are missing metadata, or in some generic cases we might not be able to
2252 determine the type of this value type. In those cases, Type? will be null and IsValid will return false.
2255 <member name="M:Microsoft.Diagnostics.Runtime.ClrValueType.ReadObjectField(System.String)">
2257 Gets the given object reference field from this ClrObject.
2259 <param name="fieldName">The name of the field to retrieve.</param>
2260 <returns>A ClrObject of the given field.</returns>
2261 <exception cref="T:System.ArgumentException">
2262 The given field does not exist in the object.
2264 The given field was not an object reference.
2267 <member name="M:Microsoft.Diagnostics.Runtime.ClrValueType.ReadField``1(System.String)">
2269 Gets the value of a primitive field. This will throw an InvalidCastException if the type parameter
2270 does not match the field's type.
2272 <typeparam name="T">The type of the field itself.</typeparam>
2273 <param name="fieldName">The name of the field.</param>
2274 <returns>The value of this field.</returns>
2276 <member name="M:Microsoft.Diagnostics.Runtime.ClrValueType.ReadValueTypeField(System.String)">
2279 <param name="fieldName"></param>
2282 <member name="M:Microsoft.Diagnostics.Runtime.ClrValueType.ReadStringField(System.String,System.Int32)">
2284 Gets a string field from the object. Note that the type must match exactly, as this method
2285 will not do type coercion.
2287 <param name="fieldName">The name of the field to get the value for.</param>
2288 <param name="maxLength">The maximum length of the string returned. Warning: If the DataTarget
2289 being inspected has corrupted or an inconsistent heap state, the length of a string may be
2290 incorrect, leading to OutOfMemory and other failures.</param>
2291 <returns>The value of the given field.</returns>
2292 <exception cref="T:System.ArgumentException">No field matches the given name.</exception>
2293 <exception cref="T:System.InvalidOperationException">The field is not a string.</exception>
2295 <member name="T:Microsoft.Diagnostics.Runtime.ComCallableWrapper">
2297 Helper for COM Callable Wrapper objects. (CCWs are CLR objects exposed to native code as COM
2301 <member name="P:Microsoft.Diagnostics.Runtime.ComCallableWrapper.IUnknown">
2303 Gets the pointer to the IUnknown representing this CCW.
2306 <member name="P:Microsoft.Diagnostics.Runtime.ComCallableWrapper.Object">
2308 Gets the pointer to the managed object representing this CCW.
2311 <member name="P:Microsoft.Diagnostics.Runtime.ComCallableWrapper.Handle">
2313 Gets the CLR handle associated with this CCW.
2316 <member name="P:Microsoft.Diagnostics.Runtime.ComCallableWrapper.RefCount">
2318 Gets the refcount of this CCW.
2321 <member name="P:Microsoft.Diagnostics.Runtime.ComCallableWrapper.Interfaces">
2323 Gets the interfaces that this CCW implements.
2326 <member name="T:Microsoft.Diagnostics.Runtime.ComInterfaceData">
2328 The COM implementation details of a single CCW entry.
2331 <member name="P:Microsoft.Diagnostics.Runtime.ComInterfaceData.Type">
2333 Gets the CLR type this represents.
2336 <member name="P:Microsoft.Diagnostics.Runtime.ComInterfaceData.InterfacePointer">
2338 Gets the interface pointer of Type.
2341 <member name="T:Microsoft.Diagnostics.Runtime.GCMode">
2343 Defines the state of the thread from the runtime's perspective.
2346 <member name="F:Microsoft.Diagnostics.Runtime.GCMode.Cooperative">
2348 In Cooperative mode the thread must cooperate before a GC may proceed. This means when a GC
2349 starts, the runtime will attempt to suspend the thread at a safepoint but cannot immediately
2350 stop the thread until it synchronizes.
2353 <member name="F:Microsoft.Diagnostics.Runtime.GCMode.Preemptive">
2355 In Preemptive mode the runtime is free to suspend the thread at any time for a GC to occur.
2358 <member name="T:Microsoft.Diagnostics.Runtime.GCRootProgressUpdatedEventHandler">
2360 A delegate for reporting GCRoot progress.
2362 <param name="source">The GCRoot sending the event.</param>
2363 <param name="processed">The total number of objects processed.</param>
2365 <member name="T:Microsoft.Diagnostics.Runtime.GCRoot">
2367 A helper class to find the GC rooting chain for a particular object.
2370 <member name="E:Microsoft.Diagnostics.Runtime.GCRoot.ProgressUpdated">
2372 Since GCRoot can be long running, this event will provide periodic updates to how many objects the algorithm
2373 has processed. Note that in the case where we search all objects and do not find a path, it's unlikely that
2374 the number of objects processed will ever reach the total number of objects on the heap. That's because there
2375 will be garbage objects on the heap we can't reach.
2378 <member name="P:Microsoft.Diagnostics.Runtime.GCRoot.Heap">
2380 Gets the heap that's associated with this GCRoot instance.
2383 <member name="M:Microsoft.Diagnostics.Runtime.GCRoot.#ctor(Microsoft.Diagnostics.Runtime.ClrHeap)">
2385 Creates a GCRoot helper object for the given heap.
2387 <param name="heap">The heap the object in question is on.</param>
2389 <member name="M:Microsoft.Diagnostics.Runtime.GCRoot.EnumerateGCRoots(System.UInt64,System.Threading.CancellationToken)">
2391 Enumerates GCRoots of a given object. Similar to !gcroot. Note this function only returns paths that are fully unique.
2393 <param name="target">The target object to search for GC rooting.</param>
2394 <param name="cancellationToken">A cancellation token to stop enumeration.</param>
2395 <returns>An enumeration of all GC roots found for target.</returns>
2397 <member name="M:Microsoft.Diagnostics.Runtime.GCRoot.EnumerateGCRoots(System.UInt64,System.Boolean,System.Int32,System.Collections.Generic.IEnumerable{Microsoft.Diagnostics.Runtime.IClrRoot},System.Threading.CancellationToken)">
2399 Enumerates GCRoots of a given object. Similar to !gcroot.
2401 <param name="target">The target object to search for GC rooting.</param>
2402 <param name="returnOnlyFullyUniquePaths">Whether to only return fully unique paths.</param>
2403 <param name="maxDegreeOfParallelism">The number of threads this class is allowed to use to calculate the result.
2404 Setting this to 1 will cause the algorithm to run on the current thread.</param>
2405 <param name="roots">The roots to consider. You can pass ClrMD.</param>
2406 <param name="cancellationToken">A cancellation token to stop enumeration.</param>
2407 <returns>An enumeration of all GC roots found for target.</returns>
2409 <member name="M:Microsoft.Diagnostics.Runtime.GCRoot.FindSinglePath(System.UInt64,System.UInt64,System.Threading.CancellationToken)">
2411 Returns the path from the start object to the end object (or <see langword="null"/> if no such path exists).
2413 <param name="source">The initial object to start the search from.</param>
2414 <param name="target">The object we are searching for.</param>
2415 <param name="cancellationToken">A cancellation token to stop searching.</param>
2416 <returns>A path from 'source' to 'target' if one exists, <see langword="null"/> if one does not.</returns>
2418 <member name="M:Microsoft.Diagnostics.Runtime.GCRoot.EnumerateAllPaths(System.UInt64,System.UInt64,System.Boolean,System.Threading.CancellationToken)">
2420 Returns the path from the start object to the end object (or <see langword="null"/> if no such path exists).
2422 <param name="source">The initial object to start the search from.</param>
2423 <param name="target">The object we are searching for.</param>
2424 <param name="returnOnlyFullyUniquePaths">Whether to only enumerate fully unique paths.</param>
2425 <param name="cancellationToken">A cancellation token to stop enumeration.</param>
2426 <returns>A path from 'source' to 'target' if one exists, <see langword="null"/> if one does not.</returns>
2428 <member name="T:Microsoft.Diagnostics.Runtime.GCRootPath">
2430 Represents a path of objects from a root to an object.
2433 <member name="P:Microsoft.Diagnostics.Runtime.GCRootPath.Root">
2435 Gets the location that roots the object.
2438 <member name="P:Microsoft.Diagnostics.Runtime.GCRootPath.Path">
2440 Gets the path from Root to a given target object.
2443 <member name="T:Microsoft.Diagnostics.Runtime.HotColdRegions">
2445 Returns the addresses and sizes of the hot and cold regions of a method.
2448 <member name="P:Microsoft.Diagnostics.Runtime.HotColdRegions.HotStart">
2450 Gets the start address of the method's hot region.
2453 <member name="P:Microsoft.Diagnostics.Runtime.HotColdRegions.HotSize">
2455 Gets the size of the hot region.
2458 <member name="P:Microsoft.Diagnostics.Runtime.HotColdRegions.ColdStart">
2460 Gets the start address of the method's cold region.
2463 <member name="P:Microsoft.Diagnostics.Runtime.HotColdRegions.ColdSize">
2465 Gets the size of the cold region.
2468 <member name="T:Microsoft.Diagnostics.Runtime.IAddressableTypedEntity">
2470 Represents an addressable entity (class or struct) with associated type.
2471 <para>Allows locating field values by known names.</para>
2474 <member name="P:Microsoft.Diagnostics.Runtime.IAddressableTypedEntity.Address">
2476 Gets the address of this entity.
2479 <member name="P:Microsoft.Diagnostics.Runtime.IAddressableTypedEntity.Type">
2481 Gets the type associated with this entity.
2484 <member name="M:Microsoft.Diagnostics.Runtime.IAddressableTypedEntity.ReadField``1(System.String)">
2486 Gets the value of a primitive field (i.e. <see cref="T:System.Int32"/>, <see cref="T:System.Boolean"/>) or an unmanaged struct.
2488 <typeparam name="T">The primitive type of the field.</typeparam>
2489 <param name="fieldName">The name of the field to read value from.</param>
2490 <returns>The value of the field.</returns>
2491 <exception cref="T:System.ArgumentException">Thrown when field was not found by name.</exception>
2493 <member name="M:Microsoft.Diagnostics.Runtime.IAddressableTypedEntity.ReadStringField(System.String,System.Int32)">
2495 Gets the <see cref="T:System.String"/> value from the entity field.
2496 <para>Note that the type must match exactly, as this method
2497 will not do type coercion.</para>
2499 <param name="fieldName">The name of the field to get the value for.</param>
2500 <returns>The value of the given field.</returns>
2501 <exception cref="T:System.ArgumentException">Thrown when field was not found by name.</exception>
2502 <exception cref="T:System.InvalidOperationException">Thrown when found field has other type than <see cref="T:System.String"/>.</exception>
2503 <param name="maxLength">The maximum length of the string returned. Warning: If the DataTarget
2504 being inspected has corrupted or an inconsistent heap state, the length of a string may be
2505 incorrect, leading to OutOfMemory and other failures.</param>
2507 <member name="M:Microsoft.Diagnostics.Runtime.IAddressableTypedEntity.ReadValueTypeField(System.String)">
2509 Gets the struct field value from the entity field.
2511 <param name="fieldName">The name of the field to get the value for.</param>
2512 <returns>The value of the given field.</returns>
2513 <exception cref="T:System.ArgumentException">Thrown when field was not found by name, or found field is not of struct type.</exception>
2515 <member name="M:Microsoft.Diagnostics.Runtime.IAddressableTypedEntity.ReadObjectField(System.String)">
2517 Gets the value of reference field.
2519 <param name="fieldName">The name of the field to read value from.</param>
2520 <returns>A <see cref="T:Microsoft.Diagnostics.Runtime.ClrObject"/> found field points on.</returns>
2521 <exception cref="T:System.ArgumentException">Thrown when field was not found by name, or found field is not of reference type.</exception>
2523 <member name="T:Microsoft.Diagnostics.Runtime.IBinaryLocator">
2525 ClrMD needs to be able to locate files that were used when the process the DataTarget
2526 represents was running.
2528 Implementers of this interface MUST be thread safe.
2531 <member name="M:Microsoft.Diagnostics.Runtime.IBinaryLocator.FindBinary(System.String,System.Int32,System.Int32,System.Boolean)">
2533 Attempts to locate a binary via the symbol server. This function will then copy the file
2534 locally to the symbol cache and return the location of the local file on disk. May be called
2535 from multiple threads at the same time.
2537 <param name="fileName">The file name or path of the binary to locate.</param>
2538 <param name="buildTimeStamp">The build timestamp the binary is indexed under.</param>
2539 <param name="imageSize">The image size the binary is indexed under.</param>
2540 <param name="checkProperties">Whether or not to validate the properties of the binary after download.</param>
2541 <returns>A full path on disk (local) of where the binary was copied to, <see langword="null"/> if it was not found.</returns>
2543 <member name="M:Microsoft.Diagnostics.Runtime.IBinaryLocator.FindBinaryAsync(System.String,System.Int32,System.Int32,System.Boolean)">
2545 Attempts to locate a binary via the symbol server. This function will then copy the file
2546 locally to the symbol cache and return the location of the local file on disk. May be called
2547 from multiple threads at the same time.
2549 <param name="fileName">The file name or path of the binary to locate.</param>
2550 <param name="buildTimeStamp">The build timestamp the binary is indexed under.</param>
2551 <param name="imageSize">The image size the binary is indexed under.</param>
2552 <param name="checkProperties">Whether or not to validate the properties of the binary after download.</param>
2553 <returns>A full path on disk (local) of where the binary was copied to, <see langword="null"/> if it was not found.</returns>
2555 <member name="M:Microsoft.Diagnostics.Runtime.IBinaryLocator.FindBinary(System.String,System.Collections.Immutable.ImmutableArray{System.Byte},System.Boolean)">
2557 Attempts to locate a binary via the symbol server. This function will then copy the file
2558 locally to the symbol cache and return the location of the local file on disk. May be called
2559 from multiple threads at the same time.
2561 <param name="fileName">The file name or path of the binary to locate.</param>
2562 <param name="buildId">The build id that the binary is indexed under.</param>
2563 <param name="checkProperties">Whether or not to validate the properties of the binary after download.</param>
2564 <returns>A full path on disk (local) of where the binary was copied to, <see langword="null"/> if it was not found.</returns>
2566 <member name="M:Microsoft.Diagnostics.Runtime.IBinaryLocator.FindBinaryAsync(System.String,System.Collections.Immutable.ImmutableArray{System.Byte},System.Boolean)">
2568 Attempts to locate a binary via the symbol server. This function will then copy the file
2569 locally to the symbol cache and return the location of the local file on disk. May be called
2570 from multiple threads at the same time.
2572 <param name="fileName">The file name or path of the binary to locate.</param>
2573 <param name="buildId">The build id that the binary is indexed under.</param>
2574 <param name="checkProperties">Whether or not to validate the properties of the binary after download.</param>
2575 <returns>A full path on disk (local) of where the binary was copied to, <see langword="null"/> if it was not found.</returns>
2577 <member name="P:Microsoft.Diagnostics.Runtime.IClrRoot.Address">
2579 Gets the address in memory of the root. Typically dereferencing this address will
2580 give you the associated Object, but not always.
2583 <member name="P:Microsoft.Diagnostics.Runtime.IClrRoot.Object">
2585 Gets the object the root points to.
2588 <member name="P:Microsoft.Diagnostics.Runtime.IClrRoot.RootKind">
2590 Gets the kind of root this is.
2593 <member name="P:Microsoft.Diagnostics.Runtime.IClrRoot.IsInterior">
2595 Gets a value indicating whether Address may point to the interior of an object (i.e. not the start of an object).
2596 If Address happens to point to the start of the object, IClrRoot.Object will be filled
2597 as normal, otherwise IClrRoot.Object.IsNull will be <see langword="true"/>. In order to properly account
2598 for interior objects, you must read the value out of Address then find the object which
2602 <member name="P:Microsoft.Diagnostics.Runtime.IClrRoot.IsPinned">
2604 Gets a value indicating whether the object is pinned in place by this root and will not be relocated by the GC.
2607 <member name="T:Microsoft.Diagnostics.Runtime.ILInfo">
2609 Returns information about the IL for a method.
2612 <member name="P:Microsoft.Diagnostics.Runtime.ILInfo.Address">
2614 Gets the address in memory of where the IL for a particular method is located.
2617 <member name="P:Microsoft.Diagnostics.Runtime.ILInfo.Length">
2619 Gets the length (in bytes) of the IL method body.
2622 <member name="P:Microsoft.Diagnostics.Runtime.ILInfo.Flags">
2624 Gets the flags associated with the IL code.
2627 <member name="P:Microsoft.Diagnostics.Runtime.ILInfo.LocalVarSignatureToken">
2629 Gets the local variable signature token for this IL method.
2632 <member name="T:Microsoft.Diagnostics.Runtime.ILToNativeMap">
2634 A method's mapping from IL to native offsets.
2637 <member name="F:Microsoft.Diagnostics.Runtime.ILToNativeMap.ILOffset">
2639 The IL offset for this entry.
2642 <member name="F:Microsoft.Diagnostics.Runtime.ILToNativeMap.StartAddress">
2644 The native start offset of this IL entry.
2647 <member name="F:Microsoft.Diagnostics.Runtime.ILToNativeMap.EndAddress">
2649 The native end offset of this IL entry.
2652 <member name="M:Microsoft.Diagnostics.Runtime.ILToNativeMap.ToString">
2656 <returns>A visual display of the map entry.</returns>
2658 <member name="F:Microsoft.Diagnostics.Runtime.ILToNativeMap._reserved">
2663 <member name="T:Microsoft.Diagnostics.Runtime.MemoryRange">
2665 Represents a range of memory in the target process.
2668 <member name="M:Microsoft.Diagnostics.Runtime.MemoryRange.CreateFromLength(System.UInt64,System.UInt64)">
2670 Creates a memory range from an address and its length.
2672 <param name="start">The start address.</param>
2673 <param name="length">The length of the range.</param>
2676 <member name="M:Microsoft.Diagnostics.Runtime.MemoryRange.#ctor(System.UInt64,System.UInt64)">
2680 <param name="start">The start of the memory range.</param>
2681 <param name="end">The end of the memory range.</param>
2683 <member name="P:Microsoft.Diagnostics.Runtime.MemoryRange.Start">
2685 The inclusive start address of the memory range.
2688 <member name="P:Microsoft.Diagnostics.Runtime.MemoryRange.End">
2690 The exclusive end address of the memory range.
2693 <member name="P:Microsoft.Diagnostics.Runtime.MemoryRange.Length">
2695 The length of the memory range in bytes.
2698 <member name="M:Microsoft.Diagnostics.Runtime.MemoryRange.Contains(System.UInt64)">
2700 Returns whether the memory range contains the given address.
2702 <param name="address">The address to check.</param>
2703 <returns>True if the memory range contains the given address.</returns>
2705 <member name="M:Microsoft.Diagnostics.Runtime.MemoryRange.Overlaps(Microsoft.Diagnostics.Runtime.MemoryRange)">
2707 Returns whether this memory range and <paramref name="other"/> contains any addresses which
2710 <param name="other">The other memory range to compare this to.</param>
2711 <returns>True if memory ranges overlap at all.</returns>
2713 <member name="M:Microsoft.Diagnostics.Runtime.MemoryRange.Contains(Microsoft.Diagnostics.Runtime.MemoryRange)">
2715 Returns whether this memory range contains all of <paramref name="other"/>.
2717 <param name="other">The other memory range to compare this to.</param>
2718 <returns>True if this memory range completely encloses <paramref name="other"/>.</returns>
2720 <member name="M:Microsoft.Diagnostics.Runtime.MemoryRange.ToString">
2722 Returns the range of memory in interval form, ie [start,end). Since End is not inclusive, we use ')' to denote
2723 that the range does not include that address.
2726 <member name="M:Microsoft.Diagnostics.Runtime.MemoryRange.CompareTo(System.UInt64)">
2728 CompareTo implementation for a single address.
2731 <member name="T:Microsoft.Diagnostics.Runtime.MethodCompilationType">
2733 The way a method was JIT'ed.
2736 <member name="F:Microsoft.Diagnostics.Runtime.MethodCompilationType.None">
2738 Method is not yet JITed and no NGEN image exists.
2741 <member name="F:Microsoft.Diagnostics.Runtime.MethodCompilationType.Jit">
2746 <member name="F:Microsoft.Diagnostics.Runtime.MethodCompilationType.Ngen">
2748 Method was NGEN'ed (pre-JITed).
2751 <member name="T:Microsoft.Diagnostics.Runtime.ModuleInfo">
2753 Provides information about loaded modules in a <see cref="P:Microsoft.Diagnostics.Runtime.ModuleInfo.DataTarget"/>.
2756 <member name="P:Microsoft.Diagnostics.Runtime.ModuleInfo.DataTarget">
2758 The DataTarget which contains this module.
2761 <member name="P:Microsoft.Diagnostics.Runtime.ModuleInfo.ImageBase">
2763 Gets the base address of the object.
2766 <member name="P:Microsoft.Diagnostics.Runtime.ModuleInfo.IndexFileSize">
2768 Gets the specific file size of the image used to index it on the symbol server.
2771 <member name="P:Microsoft.Diagnostics.Runtime.ModuleInfo.IndexTimeStamp">
2773 Gets the timestamp of the image used to index it on the symbol server.
2776 <member name="P:Microsoft.Diagnostics.Runtime.ModuleInfo.FileName">
2778 Gets the file name of the module on disk.
2781 <member name="M:Microsoft.Diagnostics.Runtime.ModuleInfo.GetPEImage">
2783 Returns a <see cref="T:Microsoft.Diagnostics.Runtime.Utilities.PEImage"/> from a stream constructed using instance fields of this object.
2784 If the PEImage cannot be constructed, <see langword="null"/> is returned.
2788 <member name="P:Microsoft.Diagnostics.Runtime.ModuleInfo.BuildId">
2790 Gets the Linux BuildId of this module. This will be <see langword="null"/> if the module does not have a BuildId.
2793 <member name="P:Microsoft.Diagnostics.Runtime.ModuleInfo.IsManaged">
2795 Gets a value indicating whether the module is managed.
2798 <member name="P:Microsoft.Diagnostics.Runtime.ModuleInfo.Pdb">
2800 Gets the PDB associated with this module.
2803 <member name="P:Microsoft.Diagnostics.Runtime.ModuleInfo.Version">
2805 Gets the version information for this file.
2808 <member name="M:Microsoft.Diagnostics.Runtime.ModuleInfo.#ctor(System.UInt64,System.String,System.Boolean,System.Int32,System.Int32,System.Collections.Immutable.ImmutableArray{System.Byte})">
2812 <param name="imageBase">The base of the image as loaded into the virtual address space.</param>
2813 <param name="fileName">The full path of the file as loaded from disk (if possible), otherwise only the filename.</param>
2814 <param name="isVirtual">Whether this image is mapped into the virtual address space. (This is as opposed to a memmap'ed file.)</param>
2815 <param name="indexFileSize">The index file size used by the symbol server to archive and request this binary. Only for PEImages (not Elf or Mach-O binaries).</param>
2816 <param name="indexTimeStamp">The index timestamp used by the symbol server to archive and request this binary. Only for PEImages (not Elf or Mach-O binaries).</param>
2817 <param name="buildId">The ELF buildid of this image. Not valid for PEImages.</param>
2819 <member name="M:Microsoft.Diagnostics.Runtime.ModuleInfo.#ctor(Microsoft.Diagnostics.Runtime.IDataReader,System.UInt64,System.String,System.Boolean,System.Int32,System.Int32,System.Collections.Immutable.ImmutableArray{System.Byte})">
2823 <param name="reader">The <see cref="T:Microsoft.Diagnostics.Runtime.IDataReader"/> containing this module.</param>
2824 <param name="imageBase">The base of the image as loaded into the virtual address space.</param>
2825 <param name="fileName">The full path of the file as loaded from disk (if possible), otherwise only the filename.</param>
2826 <param name="isVirtual">Whether this image is mapped into the virtual address space. (This is as opposed to a memmap'ed file.)</param>
2827 <param name="indexFileSize">The index file size used by the symbol server to archive and request this binary. Only for PEImages (not Elf or Mach-O binaries).</param>
2828 <param name="indexTimeStamp">The index timestamp used by the symbol server to archive and request this binary. Only for PEImages (not Elf or Mach-O binaries).</param>
2829 <param name="buildId">The ELF buildid of this image. Not valid for PEImages.</param>
2831 <member name="T:Microsoft.Diagnostics.Runtime.ObjectSet">
2833 This class is a HashSet of ulong for object addresses.
2836 <member name="P:Microsoft.Diagnostics.Runtime.ObjectSet.Heap">
2838 The ClrHeap this is an object set over.
2841 <member name="P:Microsoft.Diagnostics.Runtime.ObjectSet.MinObjSize">
2843 The minimum object size for this particular heap.
2846 <member name="P:Microsoft.Diagnostics.Runtime.ObjectSet.Segments">
2848 The collection of segments and associated objects.
2851 <member name="P:Microsoft.Diagnostics.Runtime.ObjectSet.Count">
2853 Gets or sets the count of objects in this set.
2856 <member name="M:Microsoft.Diagnostics.Runtime.ObjectSet.#ctor(Microsoft.Diagnostics.Runtime.ClrHeap)">
2860 <param name="heap">A ClrHeap to add objects from.</param>
2862 <member name="M:Microsoft.Diagnostics.Runtime.ObjectSet.Contains(System.UInt64)">
2864 Returns true if this set contains the given object, false otherwise. The behavior of this function is undefined if
2865 obj lies outside the GC heap.
2867 <param name="obj">The object to check.</param>
2868 <returns>True if this set contains the given object, false otherwise.</returns>
2870 <member name="M:Microsoft.Diagnostics.Runtime.ObjectSet.Add(System.UInt64)">
2872 Adds the given object to the set. Returns true if the object was added to the set, returns false if the object was already in the set.
2874 <param name="obj">The object to add to the set.</param>
2875 <returns>True if the object was added to the set, returns false if the object was already in the set.</returns>
2877 <member name="M:Microsoft.Diagnostics.Runtime.ObjectSet.Remove(System.UInt64)">
2879 Removes the given object from the set. Returns true if the object was removed, returns false if the object was not in the set.
2881 <param name="obj">The object to remove from the set.</param>
2882 <returns>True if the object was removed, returns false if the object was not in the set.</returns>
2884 <member name="M:Microsoft.Diagnostics.Runtime.ObjectSet.Clear">
2889 <member name="M:Microsoft.Diagnostics.Runtime.ObjectSet.GetOffset(System.UInt64,Microsoft.Diagnostics.Runtime.ObjectSet.HeapHashSegment)">
2891 Calculates the offset of an object within a segment.
2893 <param name="obj">The object.</param>
2894 <param name="seg">The segment.</param>
2895 <returns>The index into seg.Objects.</returns>
2897 <member name="M:Microsoft.Diagnostics.Runtime.ObjectSet.GetSegment(System.UInt64,Microsoft.Diagnostics.Runtime.ObjectSet.HeapHashSegment@)">
2899 Gets the segment for the given object.
2901 <param name="obj">The object in question.</param>
2902 <param name="seg">The resulting segment.</param>
2903 <returns>True if obj lies within a gc segment, false otherwise.</returns>
2905 <member name="T:Microsoft.Diagnostics.Runtime.ObjectSet.HeapHashSegment">
2907 A segment of memory in the heap.
2910 <member name="F:Microsoft.Diagnostics.Runtime.ObjectSet.HeapHashSegment.Objects">
2912 The objects in the memory range.
2915 <member name="F:Microsoft.Diagnostics.Runtime.ObjectSet.HeapHashSegment.StartAddress">
2917 The start address of the segment.
2920 <member name="F:Microsoft.Diagnostics.Runtime.ObjectSet.HeapHashSegment.EndAddress">
2922 The end address of the segment.
2925 <member name="T:Microsoft.Diagnostics.Runtime.PdbInfo">
2927 Information about a specific PDB instance obtained from a PE image.
2930 <member name="P:Microsoft.Diagnostics.Runtime.PdbInfo.Guid">
2932 Gets the Guid of the PDB.
2935 <member name="P:Microsoft.Diagnostics.Runtime.PdbInfo.Revision">
2937 Gets the PDB revision.
2940 <member name="P:Microsoft.Diagnostics.Runtime.PdbInfo.Path">
2942 Gets the path to the PDB.
2945 <member name="M:Microsoft.Diagnostics.Runtime.PdbInfo.#ctor(System.String,System.Guid,System.Int32)">
2947 Creates an instance of the PdbInfo class with the corresponding properties initialized.
2950 <member name="M:Microsoft.Diagnostics.Runtime.PdbInfo.GetHashCode">
2952 GetHashCode implementation.
2956 <member name="M:Microsoft.Diagnostics.Runtime.PdbInfo.Equals(System.Object)">
2958 Override for Equals. Returns true if the guid, age, and file names equal. Note that this compares only the.
2960 <param name="obj"></param>
2961 <returns>True if the objects match, false otherwise.</returns>
2963 <member name="M:Microsoft.Diagnostics.Runtime.PdbInfo.ToString">
2965 To string implementation.
2967 <returns>Printing friendly version.</returns>
2969 <member name="T:Microsoft.Diagnostics.Runtime.RuntimeCallableWrapper">
2971 Helper for Runtime Callable Wrapper objects. (RCWs are COM objects which are exposed to the runtime
2972 as managed objects.)
2975 <member name="P:Microsoft.Diagnostics.Runtime.RuntimeCallableWrapper.IUnknown">
2977 Gets the pointer to the IUnknown representing this CCW.
2980 <member name="P:Microsoft.Diagnostics.Runtime.RuntimeCallableWrapper.VTablePointer">
2982 Gets the external VTable associated with this RCW. (It's useful to resolve the VTable as a symbol
2983 which will tell you what the underlying native type is...if you have the symbols for it loaded).
2986 <member name="P:Microsoft.Diagnostics.Runtime.RuntimeCallableWrapper.RefCount">
2988 Gets the RefCount of the RCW.
2991 <member name="P:Microsoft.Diagnostics.Runtime.RuntimeCallableWrapper.Object">
2993 Gets the managed object associated with this of RCW.
2996 <member name="P:Microsoft.Diagnostics.Runtime.RuntimeCallableWrapper.IsDisconnected">
2998 Gets a value indicating whether the RCW is disconnected from the underlying COM type.
3001 <member name="P:Microsoft.Diagnostics.Runtime.RuntimeCallableWrapper.CreatorThread">
3003 Gets the thread which created this RCW.
3006 <member name="P:Microsoft.Diagnostics.Runtime.RuntimeCallableWrapper.WinRTObject">
3008 Gets the internal WinRT object associated with this RCW (if one exists).
3011 <member name="P:Microsoft.Diagnostics.Runtime.RuntimeCallableWrapper.Interfaces">
3013 Gets the list of interfaces this RCW implements.
3016 <member name="F:Microsoft.Diagnostics.Runtime.StringCaching.None">
3018 Do not cache the value at all. This will result in drastically lower memory
3019 usage at the cost of performance.
3022 <member name="F:Microsoft.Diagnostics.Runtime.StringCaching.Cache">
3024 Strings will be cached by the objects which hold them. This will make repeated
3025 requests to get the same value MUCH faster, but at the cost of holding on to
3029 <member name="F:Microsoft.Diagnostics.Runtime.StringCaching.Intern">
3031 Strings will be cached by the objects which hold them and they will also be
3032 interned, ensuring that the same string value will not be kept alive by multiple
3033 objects. The danger here is that interned strings are never freed until the
3034 AppDomain they live in is unloaded (or never for .NET Core). Field names will
3035 benefit from interning if you read a lot of fields for a lot of types. It's
3036 unlikely that method names or type names will benefit from interning unless
3037 the same types are loaded into multiple AppDomains in the target process.
3040 <member name="T:Microsoft.Diagnostics.Runtime.VersionInfo">
3042 Represents the version of a DLL.
3045 <member name="P:Microsoft.Diagnostics.Runtime.VersionInfo.Major">
3047 In a version 'A.B.C.D', this field represents 'A'.
3050 <member name="P:Microsoft.Diagnostics.Runtime.VersionInfo.Minor">
3052 In a version 'A.B.C.D', this field represents 'B'.
3055 <member name="P:Microsoft.Diagnostics.Runtime.VersionInfo.Revision">
3057 In a version 'A.B.C.D', this field represents 'C'.
3060 <member name="P:Microsoft.Diagnostics.Runtime.VersionInfo.Patch">
3062 In a version 'A.B.C.D', this field represents 'D'.
3065 <member name="M:Microsoft.Diagnostics.Runtime.VersionInfo.Equals(Microsoft.Diagnostics.Runtime.VersionInfo)">
3068 <member name="M:Microsoft.Diagnostics.Runtime.VersionInfo.Equals(System.Object)">
3071 <member name="M:Microsoft.Diagnostics.Runtime.VersionInfo.GetHashCode">
3074 <member name="M:Microsoft.Diagnostics.Runtime.VersionInfo.CompareTo(Microsoft.Diagnostics.Runtime.VersionInfo)">
3077 <member name="M:Microsoft.Diagnostics.Runtime.VersionInfo.ToString">
3081 <returns>The A.B.C.D version prepended with 'v'.</returns>
3083 <member name="T:Microsoft.Diagnostics.Runtime.DacInterface.ClrDataAddress">
3085 A representation of CLR's CLRDATA_ADDRESS, which is a signed 64bit integer.
3086 Unfortunately this can cause issues when inspecting 32bit processes, since
3087 if the highest bit is set the value will be sign-extended. This struct is
3091 <member name="P:Microsoft.Diagnostics.Runtime.DacInterface.ClrDataAddress.Value">
3093 Gets raw value of this address. May be sign-extended if inspecting a 32bit process.
3096 <member name="M:Microsoft.Diagnostics.Runtime.DacInterface.ClrDataAddress.#ctor(System.Int64)">
3098 Creates an instance of ClrDataAddress.
3100 <param name="value"></param>
3102 <member name="M:Microsoft.Diagnostics.Runtime.DacInterface.ClrDataAddress.op_Implicit(Microsoft.Diagnostics.Runtime.DacInterface.ClrDataAddress)~System.UInt64">
3104 Returns the value of this address and un-sign extends the value if appropriate.
3106 <param name="cda">The address to convert.</param>
3108 <member name="M:Microsoft.Diagnostics.Runtime.DacInterface.ClrDataAddress.AsUInt64">
3110 Returns the value of this address and un-sign extends the value if appropriate.
3112 <returns>The value of this address and un-sign extends the value if appropriate.</returns>
3114 <member name="T:Microsoft.Diagnostics.Runtime.DacInterface.ClrDataProcess">
3116 This is an undocumented, untested, and unsupported interface. Do not use.
3119 <member name="T:Microsoft.Diagnostics.Runtime.DacInterface.SOSDac">
3121 This is an undocumented, untested, and unsupported interface. Do not use.
3124 <member name="T:Microsoft.Diagnostics.Runtime.DacInterface.SOSDac6">
3126 This is an undocumented, untested, and unsupported interface. Do not use.
3129 <member name="T:Microsoft.Diagnostics.Runtime.DacInterface.SOSDac8">
3131 This is an undocumented, untested, and unsupported interface. Do not use.
3134 <member name="M:Microsoft.Diagnostics.Runtime.CoredumpReader.Microsoft#Diagnostics#Runtime#IExportReader#TryGetSymbolAddress(System.UInt64,System.String,System.UInt64@)">
3136 Returns the address of a module export symbol if found
3138 <param name="baseAddress">module base address</param>
3139 <param name="name">symbol name (without the module name prepended)</param>
3140 <param name="address">address returned</param>
3141 <returns>true if found</returns>
3143 <member name="M:Microsoft.Diagnostics.Runtime.DbgEngDataReader.Microsoft#Diagnostics#Runtime#IExportReader#TryGetSymbolAddress(System.UInt64,System.String,System.UInt64@)">
3145 Returns the address of a module export symbol if found
3147 <param name="baseAddress">module base address</param>
3148 <param name="name">symbol name (without the module name prepended)</param>
3149 <param name="address">address returned</param>
3150 <returns>true if found</returns>
3152 <member name="T:Microsoft.Diagnostics.Runtime.IDataReader">
3154 An interface for reading data out of the target process.
3157 <member name="P:Microsoft.Diagnostics.Runtime.IDataReader.DisplayName">
3159 The name of the target. This should be a meaningful moniker such as the pid of the target
3160 process or the path to the dump being read. This is primarily used when debugging to see
3161 what DataTarget is inspecting.
3164 <member name="P:Microsoft.Diagnostics.Runtime.IDataReader.IsThreadSafe">
3166 Gets a value indicating whether this data reader is safe to use in parallel from multiple threads.
3169 <member name="P:Microsoft.Diagnostics.Runtime.IDataReader.TargetPlatform">
3171 The platform that the target process was running on.
3174 <member name="P:Microsoft.Diagnostics.Runtime.IDataReader.Architecture">
3176 Gets the architecture of the target.
3178 <returns>The architecture of the target.</returns>
3180 <member name="P:Microsoft.Diagnostics.Runtime.IDataReader.ProcessId">
3182 Gets the process ID of the DataTarget.
3185 <member name="M:Microsoft.Diagnostics.Runtime.IDataReader.EnumerateModules">
3187 Enumerates modules in the target process.
3189 <returns>An enumerable of the modules in the target process.</returns>
3191 <member name="M:Microsoft.Diagnostics.Runtime.IDataReader.GetBuildId(System.UInt64)">
3193 Returns the BuildId of a native Elf file.
3195 <param name="baseAddress"></param>
3198 <member name="M:Microsoft.Diagnostics.Runtime.IDataReader.GetVersionInfo(System.UInt64,Microsoft.Diagnostics.Runtime.VersionInfo@)">
3200 Gets the version information for a given module (given by the base address of the module).
3202 <param name="baseAddress">The base address of the module to look up.</param>
3203 <param name="version">The version info for the given module.</param>
3205 <member name="M:Microsoft.Diagnostics.Runtime.IDataReader.GetThreadContext(System.UInt32,System.UInt32,System.Span{System.Byte})">
3207 Gets the thread context for the given thread.
3209 <param name="threadID">The OS thread ID to read the context from.</param>
3210 <param name="contextFlags">The requested context flags, or 0 for default flags.</param>
3211 <param name="context">A span to write the context to.</param>
3213 <member name="M:Microsoft.Diagnostics.Runtime.IDataReader.FlushCachedData">
3215 Informs the data reader that the user has requested all data be flushed.
3218 <member name="T:Microsoft.Diagnostics.Runtime.IExportReader">
3220 Module export symbol reader
3223 <member name="M:Microsoft.Diagnostics.Runtime.IExportReader.TryGetSymbolAddress(System.UInt64,System.String,System.UInt64@)">
3225 Returns the address of a module export symbol if found
3227 <param name="baseAddress">module base address</param>
3228 <param name="name">symbol name (without the module name prepended)</param>
3229 <param name="address">symbol address returned</param>
3230 <returns>true if found</returns>
3232 <member name="P:Microsoft.Diagnostics.Runtime.IMemoryReader.PointerSize">
3234 Gets the size of a pointer in the target process.
3236 <returns>The pointer size of the target process.</returns>
3238 <member name="M:Microsoft.Diagnostics.Runtime.IMemoryReader.Read(System.UInt64,System.Span{System.Byte})">
3240 Read memory out of the target process.
3242 <param name="address">The address of memory to read.</param>
3243 <param name="buffer">The buffer to write to.</param>
3244 <returns>The number of bytes read into the buffer.</returns>
3246 <member name="M:Microsoft.Diagnostics.Runtime.IMemoryReader.Read``1(System.UInt64,``0@)">
3248 Read an unmanaged value from the given address.
3250 <typeparam name="T">The type to read. This may be a struct or primitive type as long as it does
3251 not managed pointers.</typeparam>
3252 <param name="address">The address to read from.</param>
3253 <param name="value">The value that was read.</param>
3254 <returns>True if the memory was present, false otherwise.</returns>
3256 <member name="M:Microsoft.Diagnostics.Runtime.IMemoryReader.Read``1(System.UInt64)">
3258 Read an unmanaged value from the given address. Returns default(T) if the data was not readable.
3260 <typeparam name="T">The type to read. This may be a struct or primitive type as long as it does
3261 not managed pointers.</typeparam>
3262 <param name="address">The address to read from.</param>
3263 <returns>The value at addr, or default(T) if not present in the data target.</returns>
3265 <member name="M:Microsoft.Diagnostics.Runtime.IMemoryReader.ReadPointer(System.UInt64,System.UInt64@)">
3267 Reads a pointer at the given address.
3269 <param name="address">The address to read from.</param>
3270 <param name="value">A pointer sized value that was read.</param>
3271 <returns>True if the value was read, false if the value could not be read.</returns>
3273 <member name="M:Microsoft.Diagnostics.Runtime.IMemoryReader.ReadPointer(System.UInt64)">
3275 Read a pointer out of the target process.
3278 The pointer at the give address, or 0 if that pointer doesn't exist in
3282 <member name="T:Microsoft.Diagnostics.Runtime.DataReaders.Implementation.IThreadReader">
3284 This interface is implemented by all ClrMD provided implementations of <see cref="T:Microsoft.Diagnostics.Runtime.IDataReader"/>.
3285 This interface is not used by the ClrMD library itself, but is here to maintain functionality
3286 for previous uses of these functions in ClrMD 1.1's <see cref="T:Microsoft.Diagnostics.Runtime.IDataReader"/>.
3288 This inteface must always be requested and not assumed to be there:
3290 IDataReader reader = ...;
3292 if (reader is IThreadReader threadReader)
3296 <member name="M:Microsoft.Diagnostics.Runtime.DataReaders.Implementation.IThreadReader.EnumerateOSThreadIds">
3298 Enumerates the thread ids of all live threads in the target process.
3302 <member name="M:Microsoft.Diagnostics.Runtime.DataReaders.Implementation.IThreadReader.GetThreadTeb(System.UInt32)">
3304 Obtains the Windows specific Thread Execution Block.
3306 <param name="osThreadId"></param>
3309 <member name="M:Microsoft.Diagnostics.Runtime.MacOS.MachOCoreReader.Microsoft#Diagnostics#Runtime#IExportReader#TryGetSymbolAddress(System.UInt64,System.String,System.UInt64@)">
3311 Returns the address of a module export symbol if found
3313 <param name="baseAddress">module base address</param>
3314 <param name="name">symbol name (without the module name prepended)</param>
3315 <param name="address">address returned</param>
3316 <returns>true if found</returns>
3318 <member name="M:Microsoft.Diagnostics.Runtime.MinidumpReader.Microsoft#Diagnostics#Runtime#IExportReader#TryGetSymbolAddress(System.UInt64,System.String,System.UInt64@)">
3320 Returns the address of a module export symbol if found
3322 <param name="baseAddress">module base address</param>
3323 <param name="name">symbol name (without the module name prepended)</param>
3324 <param name="address">address returned</param>
3325 <returns>true if found</returns>
3327 <member name="T:Microsoft.Diagnostics.Runtime.Arm64Context">
3329 ARM-specific thread context.
3332 <member name="T:Microsoft.Diagnostics.Runtime.ArmContext">
3334 ARM-specific thread context.
3337 <member name="T:Microsoft.Diagnostics.Runtime.Float80">
3339 Float in X86-specific windows thread context.
3342 <member name="P:Microsoft.Diagnostics.Runtime.RegisterAttribute.Name">
3344 Gets or sets optional name override
3347 <member name="P:Microsoft.Diagnostics.Runtime.RegisterAttribute.RegisterType">
3349 Gets register type and flags
3352 <member name="T:Microsoft.Diagnostics.Runtime.X86Context">
3354 X86-specific windows thread context.
3357 <member name="T:Microsoft.Diagnostics.Runtime.ClrFlavor">
3359 Returns the "flavor" of CLR this module represents.
3362 <member name="F:Microsoft.Diagnostics.Runtime.ClrFlavor.Desktop">
3364 This is the full version of CLR included with windows.
3367 <member name="F:Microsoft.Diagnostics.Runtime.ClrFlavor.Core">
3372 <member name="T:Microsoft.Diagnostics.Runtime.ClrInfo">
3374 Represents information about a single CLR in a process.
3377 <member name="P:Microsoft.Diagnostics.Runtime.ClrInfo.Version">
3379 Gets the version number of this runtime.
3382 <member name="P:Microsoft.Diagnostics.Runtime.ClrInfo.Flavor">
3384 Gets the type of CLR this module represents.
3387 <member name="P:Microsoft.Diagnostics.Runtime.ClrInfo.DacInfo">
3389 Gets module information about the DAC needed create a <see cref="T:Microsoft.Diagnostics.Runtime.ClrRuntime"/> instance for this runtime.
3392 <member name="P:Microsoft.Diagnostics.Runtime.ClrInfo.ModuleInfo">
3394 Gets module information about the ClrInstance.
3397 <member name="P:Microsoft.Diagnostics.Runtime.ClrInfo.SingleFileRuntimeInfo">
3399 If the application is single-file, this contains the runtime, DAC and DBI index information
3402 <member name="M:Microsoft.Diagnostics.Runtime.ClrInfo.ToString">
3406 <returns>A version string for this CLR.</returns>
3408 <member name="M:Microsoft.Diagnostics.Runtime.ClrInfo.CreateRuntime(System.String,System.Boolean)">
3410 Creates a runtime from the given DAC file on disk.
3412 <param name="dacPath">A full path to the matching DAC dll for this process.</param>
3413 <param name="ignoreMismatch">Whether or not to ignore mismatches between. </param>
3416 <member name="T:Microsoft.Diagnostics.Runtime.ClrInfoProvider">
3418 Infers clr info from module names, provides corresponding DAC details.
3421 <member name="M:Microsoft.Diagnostics.Runtime.ClrInfoProvider.IsSupportedRuntime(Microsoft.Diagnostics.Runtime.ModuleInfo,Microsoft.Diagnostics.Runtime.ClrFlavor@,System.Runtime.InteropServices.OSPlatform@)">
3423 Checks if the provided module corresponds to a supported runtime, gets clr details inferred from the module name.
3425 <param name="moduleInfo">Module info.</param>
3426 <param name="flavor">CLR flavor.</param>
3427 <param name="platform">Platform.</param>
3428 <returns>true if module corresponds to a supported runtime.</returns>
3430 <member name="M:Microsoft.Diagnostics.Runtime.ClrInfoProvider.GetDacFileName(Microsoft.Diagnostics.Runtime.ClrFlavor,System.Runtime.InteropServices.OSPlatform)">
3432 Returns the file name of the DAC dll according to the specified parameters.
3435 <member name="M:Microsoft.Diagnostics.Runtime.ClrInfoProvider.GetDacRequestFileName(Microsoft.Diagnostics.Runtime.ClrFlavor,Microsoft.Diagnostics.Runtime.Architecture,Microsoft.Diagnostics.Runtime.Architecture,Microsoft.Diagnostics.Runtime.VersionInfo,System.Runtime.InteropServices.OSPlatform)">
3437 Returns the file name of the DAC dll for the requests to the symbol server.
3440 <member name="T:Microsoft.Diagnostics.Runtime.CustomDataTarget">
3442 A user-defined data reader.
3443 Note that this class will be kept alive by <see cref="T:Microsoft.Diagnostics.Runtime.DataTarget"/> until <see cref="M:Microsoft.Diagnostics.Runtime.DataTarget.Dispose"/>
3447 <member name="P:Microsoft.Diagnostics.Runtime.CustomDataTarget.DataReader">
3449 The data reader that ClrMD will use to read data from the target.
3452 <member name="P:Microsoft.Diagnostics.Runtime.CustomDataTarget.CacheOptions">
3454 An optional set of cache options. Returning null from this property will use ClrMD's default
3458 <member name="P:Microsoft.Diagnostics.Runtime.CustomDataTarget.BinaryLocator">
3460 An optional binary locator. Returning null from this property will use ClrMD's default binary
3461 locator, which uses either <see cref="P:Microsoft.Diagnostics.Runtime.CustomDataTarget.DefaultSymbolPath"/> (if non null) or the _NT_SYMBOL_PATH (if
3462 <see cref="P:Microsoft.Diagnostics.Runtime.CustomDataTarget.DefaultSymbolPath"/> is null) environment variable to search for missing binaries.
3465 <member name="P:Microsoft.Diagnostics.Runtime.CustomDataTarget.DefaultSymbolPath">
3467 If <see cref="P:Microsoft.Diagnostics.Runtime.CustomDataTarget.BinaryLocator"/> is null, this path will be used as the symbol path for the default
3468 binary locator. This property has no effect if <see cref="P:Microsoft.Diagnostics.Runtime.CustomDataTarget.BinaryLocator"/> is non-null.
3471 <member name="M:Microsoft.Diagnostics.Runtime.CustomDataTarget.#ctor(Microsoft.Diagnostics.Runtime.IDataReader)">
3475 <param name="reader">A non-null IDataReader.</param>
3477 <member name="M:Microsoft.Diagnostics.Runtime.CustomDataTarget.Dispose">
3479 Dispose method. Called when <see cref="M:Microsoft.Diagnostics.Runtime.DataTarget.Dispose"/> is called.
3482 <member name="M:Microsoft.Diagnostics.Runtime.CustomDataTarget.Dispose(System.Boolean)">
3484 Dispose implementation. The default implementation will call Dispose() on DataReader if
3485 it implements IDisposable.
3487 <param name="disposing"></param>
3489 <member name="T:Microsoft.Diagnostics.Runtime.DacInfo">
3491 This class provides information needed to located the correct CLR diagnostics DLL (this dll
3492 is called the Debug Access Component (DAC)).
3495 <member name="P:Microsoft.Diagnostics.Runtime.DacInfo.LocalDacPath">
3497 If a local dac exists on disk that matches this dac, this property will contain its full path.
3498 In a live debugging scenario this will almost always point to a local dac which can be used to inspect
3499 the process (unless the user deleted mscordaccore in the .Net Core case).
3502 <member name="P:Microsoft.Diagnostics.Runtime.DacInfo.PlatformSpecificFileName">
3504 Gets the platform specific filename of the DAC dll.
3507 <member name="P:Microsoft.Diagnostics.Runtime.DacInfo.PlatformAgnosticFileName">
3509 Gets the platform-agnostic file name of the DAC dll.
3512 <member name="P:Microsoft.Diagnostics.Runtime.DacInfo.TargetArchitecture">
3514 Gets the architecture (x86 or amd64) being targeted.
3517 <member name="P:Microsoft.Diagnostics.Runtime.DacInfo.IndexFileSize">
3519 Gets the specific file size of the image used to index it on the symbol server.
3522 <member name="P:Microsoft.Diagnostics.Runtime.DacInfo.IndexTimeStamp">
3524 Gets the timestamp of the image used to index it on the symbol server.
3527 <member name="P:Microsoft.Diagnostics.Runtime.DacInfo.Version">
3529 Gets the version information for the CLR this dac matches. The dac will have the
3533 <member name="P:Microsoft.Diagnostics.Runtime.DacInfo.ClrBuildId">
3535 If CLR has a build id on this platform, this property will contain its build id.
3538 <member name="M:Microsoft.Diagnostics.Runtime.DacInfo.#ctor(System.String,System.String,System.String,Microsoft.Diagnostics.Runtime.Architecture,System.Int32,System.Int32,Microsoft.Diagnostics.Runtime.VersionInfo,System.Collections.Immutable.ImmutableArray{System.Byte})">
3540 Constructs a DacInfo object with the appropriate properties initialized.
3543 <member name="T:Microsoft.Diagnostics.Runtime.DataTarget">
3545 A crash dump or live process to read out of.
3548 <member name="P:Microsoft.Diagnostics.Runtime.DataTarget.DataReader">
3550 Gets the data reader for this instance.
3553 <member name="P:Microsoft.Diagnostics.Runtime.DataTarget.CacheOptions">
3555 The caching options for ClrMD. This controls what kinds of memory we cache and what values have to be
3556 recalculated on every call.
3559 <member name="P:Microsoft.Diagnostics.Runtime.DataTarget.BinaryLocator">
3561 Gets or sets instance to manage the symbol path(s).
3564 <member name="M:Microsoft.Diagnostics.Runtime.DataTarget.#ctor(Microsoft.Diagnostics.Runtime.CustomDataTarget)">
3566 Creates a DataTarget from the given reader.
3568 <param name="customTarget">The custom data target to use.</param>
3570 <member name="P:Microsoft.Diagnostics.Runtime.DataTarget.ClrVersions">
3572 Gets the list of CLR versions loaded into the process.
3575 <member name="M:Microsoft.Diagnostics.Runtime.DataTarget.EnumerateModules">
3577 Enumerates information about the loaded modules in the process (both managed and unmanaged).
3580 <member name="P:Microsoft.Diagnostics.Runtime.DataTarget.PlatformFunctions">
3582 Gets a set of helper functions that are consistently implemented across all platforms.
3585 <member name="M:Microsoft.Diagnostics.Runtime.DataTarget.LoadDump(System.String,System.IO.Stream,Microsoft.Diagnostics.Runtime.CacheOptions,System.Boolean)">
3587 Loads a dump stream. Currently supported formats are ELF coredump and Windows Minidump formats.
3589 <param name="displayName">The name of this DataTarget, might be used in exceptions.</param>
3590 <param name="stream">The stream that should be used.</param>
3591 <param name="cacheOptions">The caching options to use. (Only used for FileStreams)</param>
3592 <param name="leaveOpen">True whenever the given stream should be leaved open when the DataTarget is disposed.</param>
3593 <returns>A <see cref="T:Microsoft.Diagnostics.Runtime.DataTarget"/> for the given dump.</returns>
3595 <member name="M:Microsoft.Diagnostics.Runtime.DataTarget.LoadDump(System.String,Microsoft.Diagnostics.Runtime.CacheOptions)">
3597 Loads a dump file. Currently supported formats are ELF coredump and Windows Minidump formats.
3599 <param name="filePath">The path to the dump file.</param>
3600 <param name="cacheOptions">The caching options to use.</param>
3601 <returns>A <see cref="T:Microsoft.Diagnostics.Runtime.DataTarget"/> for the given dump file.</returns>
3603 <member name="M:Microsoft.Diagnostics.Runtime.DataTarget.AttachToProcess(System.Int32,System.Boolean)">
3605 Attaches to a running process. Note that if <paramref name="suspend"/> is set to false the user
3606 of ClrMD is still responsible for suspending the process itself. ClrMD does NOT support inspecting
3607 a running process and will produce undefined behavior when attempting to do so.
3609 <param name="processId">The ID of the process to attach to.</param>
3610 <param name="suspend">Whether or not to suspend the process.</param>
3611 <returns>A <see cref="T:Microsoft.Diagnostics.Runtime.DataTarget"/> instance.</returns>
3613 <member name="M:Microsoft.Diagnostics.Runtime.DataTarget.CreateSnapshotAndAttach(System.Int32)">
3615 Creates a snapshot of a running process and attaches to it. This method will pause a running process
3618 <param name="processId">The ID of the process to attach to.</param>
3619 <returns>A <see cref="T:Microsoft.Diagnostics.Runtime.DataTarget"/> instance.</returns>
3620 <exception cref="T:System.ArgumentException">
3621 The process specified by <paramref name="processId"/> is not running.
3623 <exception cref="T:System.PlatformNotSupportedException">
3624 The current platform is not Windows.
3627 <member name="M:Microsoft.Diagnostics.Runtime.DataTarget.CreateFromDbgEng(System.IntPtr)">
3629 Creates a DataTarget from an IDebugClient interface. This allows callers to interop with the DbgEng debugger
3630 (cdb.exe, windbg.exe, dbgeng.dll).
3632 <param name="pDebugClient">An IDebugClient interface.</param>
3633 <returns>A <see cref="T:Microsoft.Diagnostics.Runtime.DataTarget"/> instance.</returns>
3635 <member name="M:Microsoft.Diagnostics.Runtime.IAddressableTypedEntityExtensions.GetFieldFrom(Microsoft.Diagnostics.Runtime.IAddressableTypedEntity,System.String)">
3637 Gets the field value from <see cref="T:Microsoft.Diagnostics.Runtime.IAddressableTypedEntity"/> with respect to field nature (either reference, or value type).
3639 <param name="entity">The entity to read field value from.</param>
3640 <param name="fieldName">The name of the field to get value.</param>
3641 <exception cref="T:System.ArgumentNullException">if entity has no type.</exception>
3642 <exception cref="T:System.ArgumentException">Thrown when field with matching name was not found.</exception>
3645 <member name="T:Microsoft.Diagnostics.Runtime.MemorySearcher">
3647 A public extension methods to support searching an IMemoryReader for a given span.
3650 <member name="M:Microsoft.Diagnostics.Runtime.MemorySearcher.SearchMemory(Microsoft.Diagnostics.Runtime.IMemoryReader,System.UInt64,System.Int32,System.ReadOnlySpan{System.Byte})">
3652 Searches memory from startAddress to endAddress, looking for the memory specified by `searchFor`. Note
3653 that this is NOT meant to be used to search the entire address space. This method will attempt to read
3654 all memory from startAddress to endAddress, so providing very large ranges of memory will make this take
3657 <param name="reader">The memory reader to search through.</param>
3658 <param name="startAddress">The address to start searching memory.</param>
3659 <param name="length">The length of memory to search.</param>
3660 <param name="searchFor">The memory to search for.</param>
3661 <returns>The address of the value if found, 0 if not found.</returns>
3663 <member name="M:Microsoft.Diagnostics.Runtime.Implementation.ClrmdAppDomain.#ctor(Microsoft.Diagnostics.Runtime.ClrRuntime,Microsoft.Diagnostics.Runtime.Implementation.IAppDomainHelpers,System.UInt64)">
3665 Create an "empty" ClrAppDomain when we cannot request app domain details.
3667 <param name="runtime">The containing runtime.</param>
3668 <param name="helpers">Helpers for querying data</param>
3669 <param name="address">The address of the AppDomain</param>
3671 <member name="T:Microsoft.Diagnostics.Runtime.Implementation.ClrmdGenericType">
3673 This represents a ClrType for which we cannot get information from the dac. In theory we shouldn't need this
3674 type, but in practice there are fields which do not report a type. This allows us to provide a non-null, semi
3675 meaningful type even though it's not as accurate or specific as we wish it would be.
3678 <member name="M:Microsoft.Diagnostics.Runtime.Implementation.ClrmdRuntime.GetTypeByMethodTable(System.UInt64)">
3680 Gets the <see cref="T:Microsoft.Diagnostics.Runtime.ClrType"/> corresponding to the given MethodTable.
3682 <param name="methodTable">The ClrType.MethodTable for the requested type.</param>
3683 <returns>A ClrType object, or <see langword="null"/> if no such type exists.</returns>
3685 <member name="M:Microsoft.Diagnostics.Runtime.Implementation.ClrmdRuntime.FlushCachedData">
3687 Flushes the DAC cache. This function <b>must</b> be called any time you expect to call the same function
3688 but expect different results. For example, after walking the heap, you need to call Flush before
3689 attempting to walk the heap again.
3692 <member name="T:Microsoft.Diagnostics.Runtime.Implementation.HeapWalkStep">
3694 This struct represents a single step in <see cref="T:Microsoft.Diagnostics.Runtime.Implementation.ClrmdHeap"/>'s heap walk. This is used for diagnostic purposes.
3697 <member name="M:Microsoft.Diagnostics.Runtime.Implementation.ITypeHelpers.GetTypeName(System.UInt64,System.String@)">
3699 Gets the name for a type.
3701 <param name="mt">The MethodTable to request the name of.</param>
3702 <param name="name">The name for that type, note that this has already had FixGenerics called on it.</param>
3703 <returns>True if the value should be cached, false if the value should not be cached. (This is controlled
3704 by the user's string cache settings.</returns>
3706 <member name="T:Microsoft.Diagnostics.Runtime.Utilities.ElfCoreFile">
3708 A helper class to read linux coredumps.
3711 <member name="P:Microsoft.Diagnostics.Runtime.Utilities.ElfCoreFile.ElfFile">
3713 All coredumps are themselves ELF files. This property returns the ElfFile that represents this coredump.
3716 <member name="M:Microsoft.Diagnostics.Runtime.Utilities.ElfCoreFile.EnumeratePRStatus">
3718 Enumerates all prstatus notes contained within this coredump.
3722 <member name="M:Microsoft.Diagnostics.Runtime.Utilities.ElfCoreFile.GetAuxvValue(Microsoft.Diagnostics.Runtime.Utilities.ElfAuxvType)">
3724 Returns the Auxv value of the given type.
3727 <member name="P:Microsoft.Diagnostics.Runtime.Utilities.ElfCoreFile.LoadedImages">
3729 A mapping of all loaded images in the process. The key is the base address that the module is loaded at.
3732 <member name="M:Microsoft.Diagnostics.Runtime.Utilities.ElfCoreFile.#ctor(System.String)">
3734 Creates an ElfCoreFile from a file on disk.
3736 <param name="coredump">A full path to a coredump on disk.</param>
3737 <exception cref="T:System.IO.InvalidDataException">Throws <see cref="T:System.IO.InvalidDataException"/> if the file is not an Elf coredump.</exception>
3739 <member name="M:Microsoft.Diagnostics.Runtime.Utilities.ElfCoreFile.#ctor(System.IO.Stream,System.Boolean)">
3741 Creates an ElfCoreFile from a file on disk.
3743 <param name="stream">The Elf stream to read the coredump from.</param>
3744 <param name="leaveOpen">Whether to leave the given stream open after this class is disposed.</param>
3745 <exception cref="T:System.IO.InvalidDataException">Throws <see cref="T:System.IO.InvalidDataException"/> if the file is not an Elf coredump.</exception>
3747 <member name="M:Microsoft.Diagnostics.Runtime.Utilities.ElfCoreFile.ReadMemory(System.UInt64,System.Span{System.Byte})">
3749 Reads memory from the given coredump's virtual address space.
3751 <param name="address">An address in the target program's virtual address space.</param>
3752 <param name="buffer">The buffer to fill.</param>
3753 <returns>The number of bytes written into the buffer.</returns>
3755 <member name="T:Microsoft.Diagnostics.Runtime.Utilities.ElfFile">
3757 A helper class to read ELF files.
3760 <member name="P:Microsoft.Diagnostics.Runtime.Utilities.ElfFile.Header">
3762 The ElfHeader of this file.
3765 <member name="P:Microsoft.Diagnostics.Runtime.Utilities.ElfFile.Notes">
3767 The list of ElfNotes for this file.
3770 <member name="P:Microsoft.Diagnostics.Runtime.Utilities.ElfFile.ProgramHeaders">
3772 The list of ProgramHeaders for this file.
3775 <member name="M:Microsoft.Diagnostics.Runtime.Utilities.ElfFile.TryGetExportSymbol(System.String,System.UInt64@)">
3777 Returns the address of a module export symbol if found
3779 <param name="symbolName">symbol name (without the module name prepended)</param>
3780 <param name="offset">symbol offset returned</param>
3781 <returns>true if found</returns>
3783 <member name="P:Microsoft.Diagnostics.Runtime.Utilities.ElfFile.DynamicSection">
3785 The ELFDynamicSection for this file, if it exists.
3788 <member name="P:Microsoft.Diagnostics.Runtime.Utilities.ElfFile.BuildId">
3790 Returns the build id of this ELF module (or ImmutableArray.Default if it doesn't exist).
3793 <member name="M:Microsoft.Diagnostics.Runtime.Utilities.ElfFile.#ctor(System.String)">
3795 Creates an ElfFile from a file on disk.
3797 <param name="filename">A full path of an elf file on disk.</param>
3798 <exception cref="T:System.IO.InvalidDataException">Throws <see cref="T:System.IO.InvalidDataException"/> if the file is not an Elf coredump.</exception>
3800 <member name="M:Microsoft.Diagnostics.Runtime.Utilities.ElfFile.#ctor(System.IO.Stream,System.Boolean)">
3802 Creates an ElfFile from a file on disk.
3804 <param name="stream">The Elf stream to read the Elf file from.</param>
3805 <param name="leaveOpen">Whether to leave the given stream open after this class is disposed.</param>
3806 <exception cref="T:System.IO.InvalidDataException">Throws <see cref="T:System.IO.InvalidDataException"/> if the file is not an Elf file.</exception>
3808 <member name="M:Microsoft.Diagnostics.Runtime.Utilities.ElfFile.#ctor(System.IO.Stream,System.UInt64,System.Boolean,System.Boolean)">
3810 Creates an ElfFile from a file on disk.
3812 <param name="stream">The Elf stream to read the Elf file from.</param>
3813 <param name="position">Base position of streawm</param>
3814 <param name="leaveOpen">Whether to leave the given stream open after this class is disposed.</param>
3815 <param name="isVirtual">Whether stream points to a ELF image mapped into an address space (such as in a live process or crash dump).</param>
3816 <exception cref="T:System.IO.InvalidDataException">Throws <see cref="T:System.IO.InvalidDataException"/> if the file is not an Elf file.</exception>
3818 <member name="T:Microsoft.Diagnostics.Runtime.Utilities.ElfLoadedImage">
3820 A representation of an ELF loaded image section.
3823 <member name="P:Microsoft.Diagnostics.Runtime.Utilities.ElfLoadedImage.BaseAddress">
3825 The BaseAddress of this image
3828 <member name="P:Microsoft.Diagnostics.Runtime.Utilities.ElfLoadedImage.Size">
3830 The size of this image in memory.
3833 <member name="M:Microsoft.Diagnostics.Runtime.Utilities.ElfLoadedImage.Open">
3835 Open the loaded image as an ELFFile.
3837 <returns>An ELFFile if this is a valid ELF image, null otherwise.</returns>
3839 <member name="M:Microsoft.Diagnostics.Runtime.Utilities.ElfLoadedImage.AsStream">
3841 Returns this ELF loaded image as a stream.
3845 <member name="M:Microsoft.Diagnostics.Runtime.Utilities.ElfLoadedImage.ToString">
3847 Returns <see cref="P:Microsoft.Diagnostics.Runtime.Utilities.ElfLoadedImage.FileName"/>.
3849 <returns><see cref="P:Microsoft.Diagnostics.Runtime.Utilities.ElfLoadedImage.FileName"/></returns>
3851 <member name="T:Microsoft.Diagnostics.Runtime.Utilities.ElfNote">
3853 A helper class to represent an ELF note section.
3856 <member name="P:Microsoft.Diagnostics.Runtime.Utilities.ElfNote.ContentSize">
3858 The content size of the data stored within this note.
3861 <member name="P:Microsoft.Diagnostics.Runtime.Utilities.ElfNote.Type">
3863 The type of note this is.
3866 <member name="P:Microsoft.Diagnostics.Runtime.Utilities.ElfNote.Name">
3871 <member name="M:Microsoft.Diagnostics.Runtime.Utilities.ElfNote.ReadContents(System.UInt64,System.Span{System.Byte})">
3873 Reads the contents of this note file.
3875 <param name="position">The position within the note to read from.</param>
3876 <param name="buffer">The buffer to read the note into.</param>
3877 <returns>The number of bytes read written to buffer.</returns>
3879 <member name="M:Microsoft.Diagnostics.Runtime.Utilities.ElfNote.ReadContents``1(System.UInt64)">
3881 Reads the contents of this note file.
3883 <param name="position">The position within the note to read from.</param>
3884 <exception cref="T:System.IO.IOException">If the data could not be read.</exception>
3885 <returns>The data at the given position.</returns>
3887 <member name="T:Microsoft.Diagnostics.Runtime.Utilities.ElfProgramHeader">
3889 A helper class to represent ELF program headers.
3892 <member name="P:Microsoft.Diagnostics.Runtime.Utilities.ElfProgramHeader.Type">
3894 The type of header this is.
3897 <member name="P:Microsoft.Diagnostics.Runtime.Utilities.ElfProgramHeader.VirtualAddress">
3899 The VirtualAddress of this header.
3902 <member name="P:Microsoft.Diagnostics.Runtime.Utilities.ElfProgramHeader.VirtualSize">
3904 The size of this header.
3907 <member name="P:Microsoft.Diagnostics.Runtime.Utilities.ElfProgramHeader.FileOffset">
3909 The offset of this header within the file.
3912 <member name="P:Microsoft.Diagnostics.Runtime.Utilities.ElfProgramHeader.FileSize">
3914 The size of this header within the file.
3917 <member name="P:Microsoft.Diagnostics.Runtime.Utilities.ElfProgramHeader.IsExecutable">
3919 Whether this section of memory is executable.
3922 <member name="P:Microsoft.Diagnostics.Runtime.Utilities.ElfProgramHeader.IsWritable">
3924 Whether this section of memory is writable.
3927 <member name="T:Microsoft.Diagnostics.Runtime.Utilities.IElfHeader">
3929 An abstract version of 32 and 64 bit ELF headers.
3932 <member name="P:Microsoft.Diagnostics.Runtime.Utilities.IElfHeader.Is64Bit">
3934 Whether this file is 64 bit or not.
3937 <member name="P:Microsoft.Diagnostics.Runtime.Utilities.IElfHeader.IsValid">
3939 Whether this file contains the magic header at the right offset or not.
3942 <member name="P:Microsoft.Diagnostics.Runtime.Utilities.IElfHeader.Type">
3944 The type of ELF file.
3947 <member name="P:Microsoft.Diagnostics.Runtime.Utilities.IElfHeader.Architecture">
3949 The architecture of the ELF file.
3952 <member name="P:Microsoft.Diagnostics.Runtime.Utilities.IElfHeader.ProgramHeaderOffset">
3954 The offset of the program header.
3957 <member name="P:Microsoft.Diagnostics.Runtime.Utilities.IElfHeader.SectionHeaderOffset">
3959 The offset of the section header.
3962 <member name="P:Microsoft.Diagnostics.Runtime.Utilities.IElfHeader.ProgramHeaderEntrySize">
3964 The size of program headers.
3967 <member name="P:Microsoft.Diagnostics.Runtime.Utilities.IElfHeader.ProgramHeaderCount">
3969 The count of program headers.
3972 <member name="P:Microsoft.Diagnostics.Runtime.Utilities.IElfHeader.SectionHeaderEntrySize">
3974 The size of section headers.
3977 <member name="P:Microsoft.Diagnostics.Runtime.Utilities.IElfHeader.SectionHeaderCount">
3979 The count of section headers.
3982 <member name="P:Microsoft.Diagnostics.Runtime.Utilities.IElfHeader.SectionHeaderStringIndex">
3984 The section header string index.
3987 <member name="T:Microsoft.Diagnostics.Runtime.Utilities.IElfPRStatus">
3989 An abstraction of the ELF PRStatus view.
3992 <member name="P:Microsoft.Diagnostics.Runtime.Utilities.IElfPRStatus.ProcessId">
3994 The process id associated with this prstatus
3997 <member name="P:Microsoft.Diagnostics.Runtime.Utilities.IElfPRStatus.ThreadId">
3999 The thread id of this prstatus.
4002 <member name="M:Microsoft.Diagnostics.Runtime.Utilities.IElfPRStatus.CopyRegistersAsContext(System.Span{System.Byte})">
4004 Copies the registers within this prstatus into the Windows _CONTEXT structure for the specified
4007 <see cref="T:Microsoft.Diagnostics.Runtime.Arm64Context"/>
4008 <see cref="T:Microsoft.Diagnostics.Runtime.AMD64Context"/>
4009 <see cref="T:Microsoft.Diagnostics.Runtime.ArmContext"/>
4010 <see cref="T:Microsoft.Diagnostics.Runtime.X86Context"/>
4012 <param name="context">A span to copy the context into. This should generally be one of the predefined *Context structs,
4013 e.g. <see cref="T:Microsoft.Diagnostics.Runtime.AMD64Context"/>.</param>
4014 <returns>True if the registers were copied to the context, false otherwise. Usually a return value of false means that
4015 <paramref name="context"/> was too small.</returns>
4017 <member name="T:Microsoft.Diagnostics.Runtime.Utilities.LinuxDefaultSymbolLocator">
4019 A symbol locator that search binaries based on files loaded in the live Linux target.
4022 <member name="T:Microsoft.Diagnostics.Runtime.Utilities.LinuxLiveDataReader">
4024 A data reader that targets a Linux process.
4025 The current process must have ptrace access to the target process.
4028 <member name="T:Microsoft.Diagnostics.Runtime.Utilities.ElfHeaderType">
4030 The type of ELF file.
4033 <member name="T:Microsoft.Diagnostics.Runtime.Utilities.ElfMachine">
4035 The ELF machine type
4038 <member name="T:Microsoft.Diagnostics.Runtime.Utilities.ElfNoteType">
4040 The kind of ELF note.
4043 <member name="T:Microsoft.Diagnostics.Runtime.Utilities.ElfProgramHeaderType">
4045 The type of program header.
4048 <member name="T:Microsoft.Diagnostics.Runtime.Utilities.COMCallableIUnknown">
4050 A class that allows you to build a custom IUnknown based interface to pass as a COM object.
4051 This class is public to allow others to use this code and not duplicate it, but it is not
4052 intended for general use.
4055 <member name="P:Microsoft.Diagnostics.Runtime.Utilities.COMCallableIUnknown.IUnknownObject">
4057 Gets the IUnknown pointer to this object.
4060 <member name="P:Microsoft.Diagnostics.Runtime.Utilities.COMCallableIUnknown.IUnknown">
4062 Gets the IUnknown VTable for this object.
4065 <member name="M:Microsoft.Diagnostics.Runtime.Utilities.COMCallableIUnknown.#ctor">
4070 <member name="M:Microsoft.Diagnostics.Runtime.Utilities.COMCallableIUnknown.AddRef">
4074 <returns>The new ref count.</returns>
4076 <member name="M:Microsoft.Diagnostics.Runtime.Utilities.COMCallableIUnknown.Release">
4080 <returns>The new RefCount.</returns>
4082 <member name="M:Microsoft.Diagnostics.Runtime.Utilities.COMCallableIUnknown.AddInterface(System.Guid,System.Boolean)">
4084 Adds an IUnknown based interface to this COM object.
4086 <param name="guid">The GUID of this interface.</param>
4087 <param name="validate">Whether or not to validate the delegates that
4088 used to build this COM interface's methods.</param>
4089 <returns>A VTableBuilder to construct this interface. Note that until VTableBuilder.Complete
4090 is called, the interface will not be registered.</returns>
4092 <member name="T:Microsoft.Diagnostics.Runtime.Utilities.COMHelper">
4094 Base class for COM related objects in ClrMD.
4097 <member name="M:Microsoft.Diagnostics.Runtime.Utilities.COMHelper.Release(System.IntPtr)">
4099 Release an IUnknown pointer.
4101 <param name="pUnk">A pointer to the IUnknown interface to release.</param>
4102 <returns>The result of pUnk->Release().</returns>
4104 <member name="M:Microsoft.Diagnostics.Runtime.Utilities.HResult.op_Implicit(Microsoft.Diagnostics.Runtime.Utilities.HResult)~System.Int32">
4106 Helper to convert to int for comparisons.
4109 <member name="M:Microsoft.Diagnostics.Runtime.Utilities.HResult.op_Implicit(Microsoft.Diagnostics.Runtime.Utilities.HResult)~System.Boolean">
4111 This makes "if (hr)" equivalent to SUCCEEDED(hr).
4114 <member name="T:Microsoft.Diagnostics.Runtime.Utilities.IUnknownVTable">
4116 The basic VTable for an IUnknown interface.
4119 <member name="T:Microsoft.Diagnostics.Runtime.Utilities.VTableBuilder">
4121 Builds an individual VTable for a COM object.
4124 <member name="M:Microsoft.Diagnostics.Runtime.Utilities.VTableBuilder.AddMethod(System.Delegate,System.Boolean)">
4126 Adds a method to be the next function in the VTable.
4128 <param name="validate">Whether to validate the delegate matches requirements.</param>
4129 <param name="func">The function to add to the next slot of the VTable.</param>
4131 <member name="M:Microsoft.Diagnostics.Runtime.Utilities.VTableBuilder.Complete">
4133 Completes the VTable, registering its GUID with the associated COMCallableIUnknown's QueryInterface
4134 method. Note that if this method is not called, then the COM interface will NOT be registered.
4136 <returns>A pointer to the interface built. This pointer has not been AddRef'ed.</returns>
4138 <member name="T:Microsoft.Diagnostics.Runtime.Utilities.Command">
4140 Command represents a running of a command lineNumber process. It is basically
4141 a wrapper over System.Diagnostics.Process, which hides the complexity
4142 of System.Diagnostics.Process, and knows how to capture output and otherwise
4143 makes calling commands very easy.
4146 <member name="P:Microsoft.Diagnostics.Runtime.Utilities.Command.StartTime">
4148 Gets the time the process started.
4151 <member name="P:Microsoft.Diagnostics.Runtime.Utilities.Command.HasExited">
4153 Gets a value indicating whether the process has exited.
4156 <member name="P:Microsoft.Diagnostics.Runtime.Utilities.Command.ExitTime">
4158 Gets the time the processed Exited. (HasExited should be <see langword="true"/> before calling)
4161 <member name="P:Microsoft.Diagnostics.Runtime.Utilities.Command.Duration">
4163 Gets the duration of the command (HasExited should be <see langword="true"/> before calling)
4166 <member name="P:Microsoft.Diagnostics.Runtime.Utilities.Command.Id">
4168 Gets the operating system ID for the subprocess.
4171 <member name="P:Microsoft.Diagnostics.Runtime.Utilities.Command.ExitCode">
4173 Gets the process exit code for the subprocess. (HasExited should be <see langword="true"/> before calling)
4174 Often this does not need to be checked because Command.Run will throw an exception
4175 if it is not zero. However it is useful if the CommandOptions.NoThrow property
4179 <member name="P:Microsoft.Diagnostics.Runtime.Utilities.Command.Output">
4181 Gets the standard output and standard error output from the command. This
4182 is accumulated in real time so it can vary if the process is still running.
4183 This property is NOT available if the CommandOptions.OutputFile or CommandOptions.OutputStream
4184 is specified since the output is being redirected there. If a large amount of output is
4185 expected (> 1Meg), the Run.AddOutputStream(Stream) is recommended for retrieving it since
4186 the large string is never materialized at one time.
4189 <member name="P:Microsoft.Diagnostics.Runtime.Utilities.Command.Options">
4191 Gets that CommandOptions structure that holds all the options that affect
4192 the running of the command (like Timeout, Input ...)
4195 <member name="M:Microsoft.Diagnostics.Runtime.Utilities.Command.Run(System.String,Microsoft.Diagnostics.Runtime.Utilities.CommandOptions)">
4197 Run 'commandLine' as a subprocess and waits for the command to complete.
4198 Output is captured and placed in the 'Output' property of the returned Command
4201 <param variable="commandLine">The command lineNumber to run as a subprocess</param>
4202 <param variable="options">Additional qualifiers that control how the process is run</param>
4203 <returns>A Command structure that can be queried to determine ExitCode, Output, etc.</returns>
4205 <member name="M:Microsoft.Diagnostics.Runtime.Utilities.Command.#ctor(System.String,Microsoft.Diagnostics.Runtime.Utilities.CommandOptions)">
4207 Launch a new command and returns the Command object that can be used to monitor
4208 the result. It does not wait for the command to complete, however you
4209 can call 'Wait' to do that, or use the 'Run' or 'RunToConsole' methods. */
4211 <param variable="commandLine">The command lineNumber to run as a subprocess</param>
4212 <param variable="options">Additional qualifiers that control how the process is run</param>
4213 <returns>A Command structure that can be queried to determine ExitCode, Output, etc.</returns>
4215 <member name="M:Microsoft.Diagnostics.Runtime.Utilities.Command.#ctor(System.String)">
4217 Create a subprocess to run 'commandLine' with no special options.
4218 <param variable="commandLine">The command lineNumber to run as a subprocess</param>
4221 <member name="M:Microsoft.Diagnostics.Runtime.Utilities.Command.Wait">
4223 Wait for a started process to complete (HasExited will be <see langword="true"/> on return)
4225 <returns>Wait returns that 'this' pointer.</returns>
4227 <member name="M:Microsoft.Diagnostics.Runtime.Utilities.Command.ThrowCommandFailure(System.String)">
4229 Throw a error if the command exited with a non-zero exit code
4230 printing useful diagnostic information along with the thrown message.
4231 This is useful when NoThrow is specified, and after post-processing
4232 you determine that the command really did fail, and an normal
4233 Command.Run failure was the appropriate action.
4235 <param name="message">An additional message to print in the throw.</param>
4237 <member name="P:Microsoft.Diagnostics.Runtime.Utilities.Command.Process">
4239 Gets the underlying process object. Generally not used.
4242 <member name="M:Microsoft.Diagnostics.Runtime.Utilities.Command.Kill">
4244 Kill the process (and any child processes (recursively) associated with the
4245 running command). Note that it may not be able to kill everything it should
4246 if the child-parent' chain is broken by a child that creates a subprocess and
4247 then dies itself. This is reasonably uncommon, however.
4250 <member name="M:Microsoft.Diagnostics.Runtime.Utilities.Command.Quote(System.String)">
4252 Put double quotes around 'str' if necessary (handles quotes quotes).
4255 <member name="M:Microsoft.Diagnostics.Runtime.Utilities.Command.FindOnPath(System.String)">
4257 Given a string 'commandExe' look for it on the path the way cmd.exe would.
4258 Returns <see langword="null"/> if it was not found.
4261 <member name="T:Microsoft.Diagnostics.Runtime.Utilities.CommandOptions">
4263 CommandOptions is a helper class for the Command class. It stores options
4264 that affect the behavior of the execution of ETWCommands and is passes as a
4265 parameter to the constructor of a Command.
4266 It is useful for these options be on a separate class (rather than
4267 on Command itself), because it is reasonably common to want to have a set
4268 of options passed to several commands, which is not easily possible otherwise.
4271 <member name="F:Microsoft.Diagnostics.Runtime.Utilities.CommandOptions.Infinite">
4273 Can be assigned to the Timeout Property to indicate infinite timeout.
4276 <member name="M:Microsoft.Diagnostics.Runtime.Utilities.CommandOptions.#ctor">
4278 CommanOptions holds a set of options that can be passed to the constructor
4279 to the Command Class as well as Command.Run*.
4282 <member name="M:Microsoft.Diagnostics.Runtime.Utilities.CommandOptions.Clone">
4284 Return a copy an existing set of command options.
4286 <returns>The copy of the command options.</returns>
4288 <member name="P:Microsoft.Diagnostics.Runtime.Utilities.CommandOptions.NoThrow">
4290 Normally commands will throw if the subprocess returns a non-zero
4291 exit code. NoThrow suppresses this.
4294 <member name="M:Microsoft.Diagnostics.Runtime.Utilities.CommandOptions.AddNoThrow">
4296 Updates the NoThrow property and returns the updated commandOptions.
4297 <returns>Updated command options</returns>
4300 <member name="P:Microsoft.Diagnostics.Runtime.Utilities.CommandOptions.Start">
4302 ShortHand for UseShellExecute and NoWait.
4305 <member name="M:Microsoft.Diagnostics.Runtime.Utilities.CommandOptions.AddStart">
4307 Updates the Start property and returns the updated commandOptions.
4310 <member name="P:Microsoft.Diagnostics.Runtime.Utilities.CommandOptions.UseShellExecute">
4312 Normally commands are launched with CreateProcess. However it is
4313 also possible use the Shell Start API. This causes Command to look
4314 up the executable differently.
4317 <member name="M:Microsoft.Diagnostics.Runtime.Utilities.CommandOptions.AddUseShellExecute">
4319 Updates the Start property and returns the updated commandOptions.
4322 <member name="P:Microsoft.Diagnostics.Runtime.Utilities.CommandOptions.NoWindow">
4324 Indicates that you want to hide any new window created.
4327 <member name="M:Microsoft.Diagnostics.Runtime.Utilities.CommandOptions.AddNoWindow">
4329 Updates the NoWindow property and returns the updated commandOptions.
4332 <member name="P:Microsoft.Diagnostics.Runtime.Utilities.CommandOptions.NoWait">
4334 Indicates that you want don't want to wait for the command to complete.
4337 <member name="M:Microsoft.Diagnostics.Runtime.Utilities.CommandOptions.AddNoWait">
4339 Updates the NoWait property and returns the updated commandOptions.
4342 <member name="P:Microsoft.Diagnostics.Runtime.Utilities.CommandOptions.Elevate">
4344 Gets or sets a value indicating whether the command must run at elevated Windows privileges (causes a new command window).
4347 <member name="M:Microsoft.Diagnostics.Runtime.Utilities.CommandOptions.AddElevate">
4349 Updates the Elevate property and returns the updated commandOptions.
4352 <member name="P:Microsoft.Diagnostics.Runtime.Utilities.CommandOptions.Timeout">
4354 By default commands have a 10 minute timeout (600,000 msec), If this
4355 is inappropriate, the Timeout property can change this. Like all
4356 timeouts in .NET, it is in units of milliseconds, and you can use
4357 CommandOptions.Infinite to indicate no timeout.
4360 <member name="M:Microsoft.Diagnostics.Runtime.Utilities.CommandOptions.AddTimeout(System.Int32)">
4362 Updates the Timeout property and returns the updated commandOptions.
4363 CommandOptions.Infinite can be used for infinite.
4366 <member name="P:Microsoft.Diagnostics.Runtime.Utilities.CommandOptions.Input">
4368 Indicates the string will be sent to Console.In for the subprocess.
4371 <member name="M:Microsoft.Diagnostics.Runtime.Utilities.CommandOptions.AddInput(System.String)">
4373 Updates the Input property and returns the updated commandOptions.
4376 <member name="P:Microsoft.Diagnostics.Runtime.Utilities.CommandOptions.CurrentDirectory">
4378 Indicates the current directory the subProcess will have.
4381 <member name="M:Microsoft.Diagnostics.Runtime.Utilities.CommandOptions.AddCurrentDirectory(System.String)">
4383 Updates the CurrentDirectory property and returns the updated commandOptions.
4386 <member name="P:Microsoft.Diagnostics.Runtime.Utilities.CommandOptions.OutputFile">
4388 Indicates the standard output and error of the command should be redirected
4389 to a archiveFile rather than being stored in Memory in the 'Output' property of the
4393 <member name="M:Microsoft.Diagnostics.Runtime.Utilities.CommandOptions.AddOutputFile(System.String)">
4395 Updates the OutputFile property and returns the updated commandOptions.
4398 <member name="P:Microsoft.Diagnostics.Runtime.Utilities.CommandOptions.OutputStream">
4400 Indicates the standard output and error of the command should be redirected
4401 to a a TextWriter rather than being stored in Memory in the 'Output' property
4405 <member name="M:Microsoft.Diagnostics.Runtime.Utilities.CommandOptions.AddOutputStream(System.IO.TextWriter)">
4407 Updates the OutputStream property and returns the updated commandOptions.
4410 <member name="P:Microsoft.Diagnostics.Runtime.Utilities.CommandOptions.EnvironmentVariables">
4412 Gets the Environment variables that will be set in the subprocess that
4413 differ from current process's environment variables. Any time a string
4414 of the form %VAR% is found in a value of a environment variable it is
4415 replaced with the value of the environment variable at the time the
4416 command is launched. This is useful for example to update the PATH
4417 environment variable eg. "%PATH%;someNewPath".
4420 <member name="M:Microsoft.Diagnostics.Runtime.Utilities.CommandOptions.AddEnvironmentVariable(System.String,System.String)">
4422 Adds the environment variable with the give value to the set of
4423 environment variables to be passed to the sub-process and returns the
4424 updated commandOptions. Any time a string
4425 of the form %VAR% is found in a value of a environment variable it is
4426 replaced with the value of the environment variable at the time the
4427 command is launched. This is useful for example to update the PATH
4428 environment variable eg. "%PATH%;someNewPath".
4431 <member name="T:Microsoft.Diagnostics.Runtime.Utilities.FileVersionInfo">
4433 FileVersionInfo represents the extended version formation that is optionally placed in the PE file resource area.
4436 <member name="P:Microsoft.Diagnostics.Runtime.Utilities.FileVersionInfo.FileVersion">
4438 Gets the version string
4441 <member name="P:Microsoft.Diagnostics.Runtime.Utilities.FileVersionInfo.VersionInfo">
4443 Gets the version of this module
4446 <member name="P:Microsoft.Diagnostics.Runtime.Utilities.FileVersionInfo.Comments">
4448 Gets comments to supplement the file version
4451 <member name="T:Microsoft.Diagnostics.Runtime.Utilities.IMAGE_RESOURCE_DATA_ENTRY">
4453 Each resource data entry describes a leaf node in the resource directory
4454 tree. It contains an offset, relative to the beginning of the resource
4455 directory of the data for the resource, a size field that gives the number
4456 of bytes of data at that offset, a CodePage that should be used when
4457 decoding code point values within the resource data. Typically for new
4458 applications the code page would be the Unicode code page.
4461 <member name="T:Microsoft.Diagnostics.Runtime.Utilities.IMAGE_RESOURCE_DIRECTORY">
4463 Resource directory consists of two counts, following by a variable length
4464 array of directory entries. The first count is the number of entries at
4465 beginning of the array that have actual names associated with each entry.
4466 The entries are in ascending order, case insensitive strings. The second
4467 count is the number of entries that immediately follow the named entries.
4468 This second count identifies the number of entries that have 16-bit integer
4469 Ids as their name. These entries are also sorted in ascending order.
4470 This structure allows fast lookup by either name or number, but for any
4471 given resource entry only one form of lookup is supported, not both.
4474 <member name="T:Microsoft.Diagnostics.Runtime.Utilities.IMAGE_RESOURCE_DIRECTORY_ENTRY">
4476 Each directory contains the 32-bit Name of the entry and an offset,
4477 relative to the beginning of the resource directory of the data associated
4478 with this directory entry. If the name of the entry is an actual text
4479 string instead of an integer Id, then the high order bit of the name field
4480 is set to one and the low order 31-bits are an offset, relative to the
4481 beginning of the resource directory of the string, which is of type
4482 IMAGE_RESOURCE_DIRECTORY_STRING. Otherwise the high bit is clear and the
4483 low-order 16-bits are the integer Id that identify this resource directory
4484 entry. If the directory entry is yet another resource directory (i.e. a
4485 subdirectory), then the high order bit of the offset field will be
4486 set to indicate this. Otherwise the high bit is clear and the offset
4487 field points to a resource data entry.
4490 <member name="T:Microsoft.Diagnostics.Runtime.Utilities.PEImage">
4492 A class to read information out of PE images (dll/exe).
4495 <member name="M:Microsoft.Diagnostics.Runtime.Utilities.PEImage.#ctor(System.IO.Stream,System.Boolean)">
4497 Constructs a PEImage class for a given PE image (dll/exe) on disk.
4499 <param name="stream">A Stream that contains a PE image at its 0th offset. This stream must be seekable.</param>
4500 <param name="leaveOpen">Whether or not to leave the stream open, if this is set to false stream will be
4501 disposed when this object is.</param>
4503 <member name="M:Microsoft.Diagnostics.Runtime.Utilities.PEImage.#ctor(System.IO.Stream,System.Boolean,System.Boolean)">
4505 Constructs a PEImage class for a given PE image (dll/exe) in memory.
4507 <param name="stream">A Stream that contains a PE image at its 0th offset. This stream must be seekable.</param>
4508 <param name="leaveOpen">Whether or not to leave the stream open, if this is set to false stream will be
4509 disposed when this object is.</param>
4510 <param name="isVirtual">Whether stream points to a PE image mapped into an address space (such as in a live process or crash dump).</param>
4512 <member name="P:Microsoft.Diagnostics.Runtime.Utilities.PEImage.Resources">
4514 Gets the root resource node of this PEImage.
4517 <member name="P:Microsoft.Diagnostics.Runtime.Utilities.PEImage.IsValid">
4519 Gets a value indicating whether the given Stream contains a valid DOS header and PE signature.
4522 <member name="P:Microsoft.Diagnostics.Runtime.Utilities.PEImage.IsPE64">
4524 Gets a value indicating whether this image is for a 64bit processor.
4527 <member name="P:Microsoft.Diagnostics.Runtime.Utilities.PEImage.IsManaged">
4529 Gets a value indicating whether this image is managed. (.NET image)
4532 <member name="P:Microsoft.Diagnostics.Runtime.Utilities.PEImage.IndexTimeStamp">
4534 Gets the timestamp that this PE image is indexed under.
4537 <member name="P:Microsoft.Diagnostics.Runtime.Utilities.PEImage.IndexFileSize">
4539 Gets the file size that this PE image is indexed under.
4542 <member name="P:Microsoft.Diagnostics.Runtime.Utilities.PEImage.CorHeader">
4544 Gets the managed header information for this image. Undefined behavior if IsValid is <see langword="false"/>.
4547 <member name="P:Microsoft.Diagnostics.Runtime.Utilities.PEImage.CoffHeader">
4549 Gets a wrapper over this PE image's IMAGE_FILE_HEADER structure. Undefined behavior if IsValid is <see langword="false"/>.
4552 <member name="P:Microsoft.Diagnostics.Runtime.Utilities.PEImage.PEHeader">
4554 Gets a wrapper over this PE image's IMAGE_OPTIONAL_HEADER. Undefined behavior if IsValid is <see langword="false"/>.
4557 <member name="P:Microsoft.Diagnostics.Runtime.Utilities.PEImage.Sections">
4559 Gets a collection of IMAGE_SECTION_HEADERs in the PE image. Undefined behavior if IsValid is <see langword="false"/>.
4562 <member name="P:Microsoft.Diagnostics.Runtime.Utilities.PEImage.Pdbs">
4564 Gets a list of PDBs associated with this PE image. PE images can contain multiple PDB entries,
4565 but by convention it's usually the last entry that is the most up to date. Unless you need to enumerate
4566 all PDBs for some reason, you should use DefaultPdb instead.
4567 Undefined behavior if IsValid is <see langword="false"/>.
4570 <member name="P:Microsoft.Diagnostics.Runtime.Utilities.PEImage.DefaultPdb">
4572 Gets the PDB information for this module. If this image does not contain PDB info (or that information
4573 wasn't included in Stream) this returns <see langword="null"/>. If multiple PDB streams are present, this method returns the
4577 <member name="M:Microsoft.Diagnostics.Runtime.Utilities.PEImage.RvaToOffset(System.Int32)">
4579 Allows you to convert between a virtual address to a stream offset for this module.
4581 <param name="virtualAddress">The address to translate.</param>
4582 <returns>The position in the stream of the data, -1 if the virtual address doesn't map to any location of the PE image.</returns>
4584 <member name="M:Microsoft.Diagnostics.Runtime.Utilities.PEImage.Read(System.Int32,System.Span{System.Byte})">
4586 Reads data out of PE image into a native buffer.
4588 <param name="virtualAddress">The address to read from.</param>
4589 <param name="dest">The location to write the data.</param>
4590 <returns>The number of bytes actually read from the image and written to dest.</returns>
4592 <member name="M:Microsoft.Diagnostics.Runtime.Utilities.PEImage.GetFileVersionInfo">
4594 Gets the File Version Information that is stored as a resource in the PE file. (This is what the
4595 version tab a file's property page is populated with).
4598 <member name="M:Microsoft.Diagnostics.Runtime.Utilities.PEImage.TryGetExportSymbol(System.String,System.UInt64@)">
4600 Returns the address of a module export symbol if found
4602 <param name="symbolName">symbol name (without the module name prepended)</param>
4603 <param name="offset">symbol offset returned</param>
4604 <returns>true if found</returns>
4606 <member name="T:Microsoft.Diagnostics.Runtime.Utilities.ResourceEntry">
4608 An entry in the resource table.
4611 <member name="P:Microsoft.Diagnostics.Runtime.Utilities.ResourceEntry.MaxChildrenCount">
4613 The maximum number of children nodes that ResourceEntry objects will consider. Note that if a PEImage is
4614 corrupted or if we read bad data out of the target then we may misinterpret the data we read and spend
4615 a lot of time enumerating bad resources. Setting this to int.MaxValue removes this limitation.
4618 <member name="P:Microsoft.Diagnostics.Runtime.Utilities.ResourceEntry.MaxNameLength">
4620 The maximum length ResourceEntry.Name strings we will return. Note that if a PEImage is
4621 corrupted or if we read bad data out of the target then we may misinterpret the data we read and spend
4622 a lot of time enumerating bad resources. Setting this to int.MaxValue removes this limitation.
4625 <member name="P:Microsoft.Diagnostics.Runtime.Utilities.ResourceEntry.Image">
4627 Gets the PEImage containing this ResourceEntry.
4630 <member name="P:Microsoft.Diagnostics.Runtime.Utilities.ResourceEntry.Parent">
4632 Gets the parent resource of this ResourceEntry. Null if and only if this is the root node.
4635 <member name="P:Microsoft.Diagnostics.Runtime.Utilities.ResourceEntry.Name">
4637 Gets resource Name. May be <see langword="null"/> if this is the root node.
4640 <member name="P:Microsoft.Diagnostics.Runtime.Utilities.ResourceEntry.IsLeaf">
4642 Gets a value indicating whether this is a leaf, and contains data.
4645 <member name="P:Microsoft.Diagnostics.Runtime.Utilities.ResourceEntry.Size">
4647 Gets the size of data for this node.
4650 <member name="P:Microsoft.Diagnostics.Runtime.Utilities.ResourceEntry.ChildCount">
4652 Gets the number of children this entry contains. Note that ResourceEntry.Children is capped at
4653 MaxChildrenCount entries. This property returns the total number of entries as defined by the
4654 IMAGE_RESOURCE_DIRECTORY. That means this number may be larger than Children.Count.
4657 <member name="P:Microsoft.Diagnostics.Runtime.Utilities.ResourceEntry.Item(System.String)">
4659 Returns the given resource child by name.
4661 <param name="name">The name of the child to return.</param>
4662 <returns>The child in question, or <see langword="null"/> if none are found with that name.</returns>
4664 <member name="M:Microsoft.Diagnostics.Runtime.Utilities.ResourceEntry.GetData(System.Span{System.Byte})">
4666 The data associated with this entry.
4668 <returns>A byte array of the data, or a byte[] of length 0 if this entry contains no data.</returns>
4670 <member name="M:Microsoft.Diagnostics.Runtime.Utilities.ResourceEntry.GetData``1(System.Int32)">
4672 A convenience function to get structured data out of this entry.
4674 <typeparam name="T">A struct type to convert.</typeparam>
4675 <param name="offset">The offset into the data.</param>
4676 <returns>The struct that was read out of the data section.</returns>
4678 <member name="P:Microsoft.Diagnostics.Runtime.Utilities.ResourceEntry.Children">
4680 Gets the children resources of this ResourceEntry.
4683 <member name="T:Microsoft.Diagnostics.Runtime.PlatformFunctions">
4685 A set of helper functions that are consistently implemented across platforms.
4688 <member name="M:Microsoft.Diagnostics.Runtime.PlatformFunctions.LoadLibrary(System.String)">
4689 <param name="libraryPath">The path to the native library to be loaded.</param>
4691 <member name="M:Microsoft.Diagnostics.Runtime.PlatformFunctions.FreeLibrary(System.IntPtr)">
4692 <param name="handle">The native library OS handle to be freed.</param>
4694 <member name="M:Microsoft.Diagnostics.Runtime.PlatformFunctions.GetLibraryExport(System.IntPtr,System.String)">
4695 <param name="handle">The native library OS handle.</param>
4696 <param name="name">The name of the exported symbol.</param>
4698 <member name="T:Microsoft.Diagnostics.Runtime.Windows.ArrayPoolBasedCacheEntry">
4700 Represents heap segment cache entries backed by arrays from ArrayPool{byte}.Shared. This technology is less efficient than the <see cref="T:Microsoft.Diagnostics.Runtime.Windows.AWEBasedCacheEntry"/> but it has upsides
4701 around not requiring special privileges and mapping in a more granular fashion (4k pages vs 64k pages).
4704 <member name="T:Microsoft.Diagnostics.Runtime.Windows.AWEBasedCacheEntry">
4706 Represents heap segment cache entries backed by AWE (Address Windowing Extensions). This technology allows us to read the entirety of the heap data out of the dump (which is very fast disk
4707 access wise) up front, keep it in physical memory, but only maps those physical memory pages into our VM space as needed, allowing us to control how much memory we use and making 'mapping in'
4708 very fast(some page table entry work in Windows instead of physically reading the data off of disk). The downside is it requires the user have special privileges as well as it maps data
4709 in 64k chunks(the VirtualAlloc allocation granularity).
4712 <member name="T:Microsoft.Diagnostics.Runtime.Windows.CacheEntryBase`1">
4714 This class acts as the base of the two (ArrayPool and AWE) cache entry types.
4716 <typeparam name="T">The type of data the cache pages hold</typeparam>
4718 <member name="F:Microsoft.Diagnostics.Runtime.Windows.CacheTechnology.ArrayPool">
4720 Indicates the cache should operate using the ArrayPool to managed byte[] of memory from the dump heap.
4723 <member name="F:Microsoft.Diagnostics.Runtime.Windows.CacheTechnology.AWE">
4725 Indicates the cache should operate using AWE (Address Windowing Extensions) to manage memory from the dump heap
4727 <remarks>NOTE: This option is ONLY possible if the user has the 'Lock Pages in Memory' permission, otherwise we will fall back on using <see cref="F:Microsoft.Diagnostics.Runtime.Windows.CacheTechnology.ArrayPool"/></remarks>
4729 <member name="F:Microsoft.Diagnostics.Runtime.Windows.HeapSegmentCacheEventSource.PageInDataEventStart">
4731 The event ID for when the cache starts paging in data.
4734 <member name="F:Microsoft.Diagnostics.Runtime.Windows.HeapSegmentCacheEventSource.PageInDataEventFailed">
4736 The event ID for when the cache failed while paging in data.
4739 <member name="F:Microsoft.Diagnostics.Runtime.Windows.HeapSegmentCacheEventSource.PageInDataEventEnd">
4741 The event ID for when the cache completes paging in data.
4744 <member name="F:Microsoft.Diagnostics.Runtime.Windows.HeapSegmentCacheEventSource.PageOutDataEventStart">
4746 The event ID for when the cache starts paging out data.
4749 <member name="F:Microsoft.Diagnostics.Runtime.Windows.HeapSegmentCacheEventSource.PageOutDataEventEnd">
4751 The event ID for when the cache finishes paging out data.
4754 <member name="T:Microsoft.Diagnostics.Runtime.Windows.HeapSegmentCacheEventSource.Tasks">
4756 Names of constants in this class make up the middle term in the event name
4757 E.g.: HeapSegmentCacheProvider/PageInData/Start.
4759 <remarks>Name of this class is important for EventSource.</remarks>
4761 <member name="T:Microsoft.Diagnostics.Runtime.Windows.HeapSegmentCacheEventSource.Tags">
4763 Tags describing the event result
4765 <remarks>Name of this class is important for EventSource.</remarks>
4767 <member name="T:System.Diagnostics.CodeAnalysis.NotNullAttribute">
4768 <summary>Specifies that an output will not be null even if the corresponding type allows it.</summary>
4770 <member name="T:System.Diagnostics.CodeAnalysis.NotNullWhenAttribute">
4771 <summary>Specifies that when a method returns <see cref="P:System.Diagnostics.CodeAnalysis.NotNullWhenAttribute.ReturnValue"/>, the parameter will not be null even if the corresponding type allows it.</summary>
4773 <member name="M:System.Diagnostics.CodeAnalysis.NotNullWhenAttribute.#ctor(System.Boolean)">
4774 <summary>Initializes the attribute with the specified return value condition.</summary>
4775 <param name="returnValue">
4776 The return value condition. If the method returns this value, the associated parameter will not be null.
4779 <member name="P:System.Diagnostics.CodeAnalysis.NotNullWhenAttribute.ReturnValue">
4780 <summary>Gets the return value condition.</summary>
4782 <member name="T:System.Diagnostics.CodeAnalysis.NotNullIfNotNullAttribute">
4783 <summary>Specifies that the output will be non-null if the named parameter is non-null.</summary>
4785 <member name="M:System.Diagnostics.CodeAnalysis.NotNullIfNotNullAttribute.#ctor(System.String)">
4786 <summary>Initializes the attribute with the associated parameter name.</summary>
4787 <param name="parameterName">
4788 The associated parameter name. The output will be non-null if the argument to the parameter specified is non-null.
4791 <member name="P:System.Diagnostics.CodeAnalysis.NotNullIfNotNullAttribute.ParameterName">
4792 <summary>Gets the associated parameter name.</summary>
4794 <member name="T:System.Diagnostics.CodeAnalysis.DoesNotReturnAttribute">
4795 <summary>Applied to a method that will never return under any circumstance.</summary>