DkmManagedHeapSampler Класс

Определение

DkmManagedHeapSampler представляет средство выборки для объектов в управляемой куче.

Этот API появился в Visual Studio 12 RTM (DkmApiVersion.VS12RTM).

public ref class DkmManagedHeapSampler : Microsoft::VisualStudio::Debugger::DkmDataContainer, IDisposable
[System.Runtime.InteropServices.Guid("14537042-a674-0f63-20ba-a9fab411d46a")]
public class DkmManagedHeapSampler : Microsoft.VisualStudio.Debugger.DkmDataContainer, IDisposable
[<System.Runtime.InteropServices.Guid("14537042-a674-0f63-20ba-a9fab411d46a")>]
type DkmManagedHeapSampler = class
    inherit DkmDataContainer
    interface IDisposable
Public Class DkmManagedHeapSampler
Inherits DkmDataContainer
Implements IDisposable
Наследование
DkmManagedHeapSampler
Наследование
DkmManagedHeapSampler
Атрибуты
Реализации

Свойства

IsUnloaded

Возвращает значение true, если для этого объекта было вызвано событие "unloaded" (например, вызывается DkmThread::Unload) или если объект был закрыт. Обратите внимание, что при проверке этого состояния необходимо соблюдать осторожность, так как без синхронизации возвращаемое состояние может быть не точным после прочтения инструкции.

(Унаследовано от DkmDataContainer)
RuntimeInstance

Класс DkmRuntimeInstance представляет среду выполнения, которая загружается в DkmProcess и содержит код для отладки.

Этот API появился в Visual Studio 12 RTM (DkmApiVersion.VS12RTM).

UniqueId

Guid, который однозначно идентифицирует этот DkmManagedHeapSampler.

Этот API появился в Visual Studio 12 RTM (DkmApiVersion.VS12RTM).

WorkerConnection

[Необязательно] Указывает подключение к рабочему процессу, в котором будут обрабатываться операции Выборки кучи.

Этот API появился в Visual Studio 16 RTM (DkmApiVersion.VS16RTMPreview).

Методы

AnalyzeDuplicateStrings()

Анализ повторяющихся строк, найденных в куче, не возвращая их. Должен вызываться после прохода объектов и никогда после обхода корней, так как процесс может возобновиться.

Ограничение расположения: API должен вызываться из компонента интегрированной среды разработки (уровень > компонента 100 000).

Этот API появился в Visual Studio 17 с обновлением 7 (DkmApiVersion.VS17Update7).

AnalyzeEventHandlerLeaks(String[])

Анализируйте обнаруженные в куче утечки обработчика событий, не возвращая их. Должен вызываться после прохода объектов и никогда после обхода корней, так как процесс может возобновиться.

Ограничение расположения: API должен вызываться из компонента интегрированной среды разработки (уровень > компонента 100 000).

Этот API появился в Visual Studio 17 с обновлением 8 (DkmApiVersion.VS17Update8).

AnalyzeSparseArrays()

Анализ разреженных массивов.

Ограничение расположения: API должен вызываться из компонента интегрированной среды разработки (уровень > компонента 100 000).

Этот API появился в Visual Studio 17 с обновлением 6 (DkmApiVersion.VS17Update6).

Close()

Закрывает экземпляр объекта DkmManagedHeapSampler. Это приведет к освобождению всех ресурсов, связанных с этим объектом, во всех компонентах. К ним относятся ресурсы в пределах компьютера или управляемых или собственных границ маршалинга.

Объекты DkmManagedHeapSampler автоматически закрываются при закрытии связанного с ними объекта DkmRuntimeInstance.

Этот метод может вызываться только компонентом, создавший объект .

Этот API появился в Visual Studio 12 RTM (DkmApiVersion.VS12RTM).

Create(DkmRuntimeInstance, DkmDataItem)

Create новый экземпляр объекта DkmManagedHeapSampler. Вызывающий объект отвечает за закрытие созданного объекта после их завершения.

Этот API появился в Visual Studio 12 RTM (DkmApiVersion.VS12RTM).

Create(DkmRuntimeInstance, DkmWorkerProcessConnection, DkmDataItem)

Create новый экземпляр объекта DkmManagedHeapSampler. Вызывающий объект отвечает за закрытие созданного объекта после их завершения.

Этот API появился в Visual Studio 16 RTM (DkmApiVersion.VS16RTMPreview).

DeferRootsAnalysis()

Укажите для выборки кучи, что анализ корней должен быть отложен и что результаты должны быть возвращены без идентификации живых объектов.

Ограничение расположения: API должен вызываться из компонента интегрированной среды разработки (уровень > компонента 100 000).

Этот API появился в Visual Studio 17 с обновлением 4 (DkmApiVersion.VS17Update4).

GetAddressesForDuplicatedStringValue(String)

Получение всех адресов, найденных для заданного повторяющегося строкового значения. Возвращает только допустимые результаты для строк, полученных с помощью GetNextDuplicateStrings.

Ограничение расположения: API должен вызываться из компонента интегрированной среды разработки (уровень > компонента 100 000).

Этот API появился в Visual Studio 17 с обновлением 5 (DkmApiVersion.VS17Update5).

GetDataItem<T>()

Возвращает экземпляр T, который был добавлен в этот экземпляр контейнера. Если этот контейнер не содержит "T", эта функция возвращает значение NULL.

(Унаследовано от DkmDataContainer)
GetNextDuplicateStrings(UInt32)

Пытается получить значение следующей запрошенной части повторяющихся строк из управляемой кучи. Не следует вызывать до завершения кучи.

Ограничение расположения: API должен вызываться из компонента интегрированной среды разработки (уровень > компонента 100 000).

Этот API появился в Visual Studio 17 с обновлением 5 (DkmApiVersion.VS17Update5).

GetNextEventHandlerLeaks(UInt32)

Пытается получить значение следующей запрошенной части экземпляров обработчика событий из управляемой кучи. Не следует вызывать до завершения кучи.

Ограничение расположения: API должен вызываться из компонента интегрированной среды разработки (уровень > компонента 100 000).

Этот API появился в Visual Studio 17 с обновлением 8 (DkmApiVersion.VS17Update8).

GetNextEventHandlerLeaksJMC(UInt32)

Пытается получить значение следующей запрошенной части экземпляров обработчика событий из управляемой кучи с отфильтровываемыми типами. Не следует вызывать до завершения кучи.

Ограничение расположения: API должен вызываться из компонента интегрированной среды разработки (уровень > компонента 100 000).

Этот API появился в Visual Studio 17 с обновлением 8 (DkmApiVersion.VS17Update8).

GetNextSparseArrayDetails(DkmManagedTypeId, UInt32)

Пытается получить значение следующей запрошенной части объектов экземпляра разреженного массива.

Ограничение расположения: API должен вызываться из компонента интегрированной среды разработки (уровень > компонента 100 000).

Этот API появился в Visual Studio 17 с обновлением 6 (DkmApiVersion.VS17Update6).

GetNextSparseArraySummaries(UInt32)

Пытается получить значение следующей запрошенной части сводных объектов разреженного массива.

Ограничение расположения: API должен вызываться из компонента интегрированной среды разработки (уровень > компонента 100 000).

Этот API появился в Visual Studio 17 с обновлением 6 (DkmApiVersion.VS17Update6).

GetRoots()

Возвращает корни из выборочной кучи.

Ограничение расположения: API должен вызываться из компонента интегрированной среды разработки (уровень > компонента 100 000).

Этот API появился в Visual Studio 12 RTM (DkmApiVersion.VS12RTM).

GetSampledHeapData(UInt32)

Возвращает следующую запрошенную часть сериализованных данных графа объектов.

Ограничение расположения: API должен вызываться из компонента интегрированной среды разработки (уровень > компонента 100 000).

Этот API появился в Visual Studio 12 RTM (DkmApiVersion.VS12RTM).

GetSampledHeapDataWithoutRoots(UInt32)

Возвращает следующую запрошенную часть сериализованных данных графа объекта без включения корневой информации.

Ограничение расположения: API должен вызываться из компонента интегрированной среды разработки (уровень > компонента 100 000).

Этот API появился в Visual Studio 17 с обновлением 4 (DkmApiVersion.VS17Update4).

GetSampledHeapTypeStats()

Возвращает статистику типа кучи.

Ограничение расположения: API должен вызываться из компонента интегрированной среды разработки (уровень > компонента 100 000).

Этот API появился в Visual Studio 12 RTM (DkmApiVersion.VS12RTM).

GetSampledHeapTypeStats176(Boolean)

Возвращает статистику типа кучи, при необходимости включая мертвые объекты в счетчики.

Ограничение расположения: API должен вызываться из компонента интегрированной среды разработки (уровень > компонента 100 000).

Этот API появился в Visual Studio 17 с обновлением 6 (DkmApiVersion.VS17Update6).

GetSegments()

Возвращает список сегментов в куче.

Ограничение расположения: API должен вызываться из компонента интегрированной среды разработки (уровень > компонента 100 000).

Этот API появился в Visual Studio 17 с обновлением 7 (DkmApiVersion.VS17Update7).

GetTotalBytesWastedByEventHandlerLeaks()

Возвращает общий объем байтов, утечка которыми произошла из обработчиков событий в управляемой куче. Это вычисление отделяется от значения BytesWasted каждой структуры сведений об утечке. Это связано с тем, что вложенные деревья утечек могут перекрываться, что приводит к двойному подсчету сохраненных объектов.

Ограничение расположения: API должен вызываться из компонента интегрированной среды разработки (уровень > компонента 100 000).

Этот API появился в Visual Studio 17 с обновлением 8 (DkmApiVersion.VS17Update8).

GetTotalBytesWastedByEventHandlerLeaksJMC()

Возвращает общий объем байтов, утечки которыми утекли обработчики событий в управляемой куче с отфильтровкой исключенных типов. Это вычисление отделяется от значения BytesWasted каждой структуры сведений об утечке. Это связано с тем, что вложенные деревья утечек могут перекрываться, что приводит к двойному подсчету сохраненных объектов.

Ограничение расположения: API должен вызываться из компонента интегрированной среды разработки (уровень > компонента 100 000).

Этот API появился в Visual Studio 17 с обновлением 8 (DkmApiVersion.VS17Update8).

InitializeHeapObjectWalk(UInt32, Boolean)

Инициализирует средство выборки кучи.

Ограничение расположения: API должен вызываться из компонента интегрированной среды разработки (уровень > компонента 100 000).

Этот API появился в Visual Studio 12 RTM (DkmApiVersion.VS12RTM).

NextObjects(UInt32)

Обход заданного количества объектов в куче.

Ограничение расположения: API должен вызываться из компонента интегрированной среды разработки (уровень > компонента 100 000).

Этот API появился в Visual Studio 12 RTM (DkmApiVersion.VS12RTM).

NextReferences(UInt32)

Пошаговое руководство по заданному количеству ссылок в куче.

Ограничение расположения: API должен вызываться из компонента интегрированной среды разработки (уровень > компонента 100 000).

Этот API появился в Visual Studio 12 RTM (DkmApiVersion.VS12RTM).

NextRoots(UInt32)

Идет по заданному количеству корней сборки мусора в куче.

Ограничение расположения: API должен вызываться из компонента интегрированной среды разработки (уровень > компонента 100 000).

Этот API появился в Visual Studio 12 RTM (DkmApiVersion.VS12RTM).

RemoveDataItem<T>()

Удалите экземпляр T из этого контейнера. Обычно не требуется вызывать этот метод, так как контейнер данных автоматически очищается при закрытии объекта.

(Унаследовано от DkmDataContainer)
SetDataItem<T>(DkmDataCreationDisposition, T)

Поместите новый элемент в контейнер данных.

(Унаследовано от DkmDataContainer)

Явные реализации интерфейса

IDisposable.Dispose()

Будет добавлено.

Применяется к