Compartilhar via


DkmManagedHeapSampler Classe

Definição

DkmManagedHeapSampler representa um sampler para objetos no heap gerenciado.

Essa API foi introduzida no 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
Herança
DkmManagedHeapSampler
Herança
DkmManagedHeapSampler
Atributos
Implementações

Propriedades

IsUnloaded

Retornará true se um evento 'descarregado' tiver sido gerado para este objeto (exemplo: DkmThread::Unload for chamado) ou se o objeto tiver sido fechado. Observe que o cuidado deve ser usado ao verificar esse status como, sem sincronização, o status retornado pode não ser mais preciso após a leitura.

(Herdado de DkmDataContainer)
RuntimeInstance

A classe DkmRuntimeInstance representa um ambiente de execução que é carregado em um DkmProcess e que contém o código a ser depurado.

Essa API foi introduzida no Visual Studio 12 RTM (DkmApiVersion.VS12RTM).

UniqueId

Guid que identifica exclusivamente esse DkmManagedHeapSampler.

Essa API foi introduzida no Visual Studio 12 RTM (DkmApiVersion.VS12RTM).

WorkerConnection

[Opcional] Especifica uma conexão com um processo de trabalho em que as operações do Heap Sampler serão processadas.

Essa API foi introduzida no Visual Studio 16 RTM (DkmApiVersion.VS16RTMPreview).

Métodos

AnalyzeDuplicateStrings()

Analise as cadeias de caracteres duplicadas encontradas no heap, sem retorná-las. Deve ser chamado após a caminhada dos objetos e nunca após a caminhada das raízes, pois o processo pode ter sido retomado.

Restrição de local: a API deve ser chamada de um componente IDE (nível > de componente 100.000).

Essa API foi introduzida no Visual Studio 17 Atualização 7 (DkmApiVersion.VS17Update7).

AnalyzeEventHandlerLeaks(String[])

Analise os vazamentos do manipulador de eventos encontrados no heap, sem retorná-los. Deve ser chamado após a caminhada dos objetos e nunca após a caminhada das raízes, pois o processo pode ter sido retomado.

Restrição de local: a API deve ser chamada de um componente IDE (nível > de componente 100.000).

Essa API foi introduzida no Visual Studio 17 Atualização 8 (DkmApiVersion.VS17Update8).

AnalyzeSparseArrays()

Analise as matrizes esparsas.

Restrição de local: a API deve ser chamada de um componente IDE (nível > de componente 100.000).

Essa API foi introduzida no Visual Studio 17 Atualização 6 (DkmApiVersion.VS17Update6).

Close()

Fecha uma instância de objeto DkmManagedHeapSampler. Isso liberará todos os recursos associados a esse objeto em todos os componentes. Isso inclui recursos entre limites de marshaling gerenciados/nativos ou computador.

Os objetos DkmManagedHeapSampler são fechados automaticamente quando o objeto DkmRuntimeInstance associado é fechado.

Esse método só pode ser chamado pelo componente que criou o objeto .

Essa API foi introduzida no Visual Studio 12 RTM (DkmApiVersion.VS12RTM).

Create(DkmRuntimeInstance, DkmDataItem)

Create uma nova instância de objeto DkmManagedHeapSampler. O chamador é responsável por fechar o objeto criado após a conclusão.

Essa API foi introduzida no Visual Studio 12 RTM (DkmApiVersion.VS12RTM).

Create(DkmRuntimeInstance, DkmWorkerProcessConnection, DkmDataItem)

Create uma nova instância de objeto DkmManagedHeapSampler. O chamador é responsável por fechar o objeto criado após a conclusão.

Essa API foi introduzida no Visual Studio 16 RTM (DkmApiVersion.VS16RTMPreview).

DeferRootsAnalysis()

Indique ao amostrador de heap que a análise de raízes deve ser adiada e que os resultados devem ser retornados sem objetos dinâmicos identificados.

Restrição de local: a API deve ser chamada de um componente IDE (nível > de componente 100.000).

Essa API foi introduzida no Visual Studio 17 Atualização 4 (DkmApiVersion.VS17Update4).

GetAddressesForDuplicatedStringValue(String)

Recupere todos os endereços encontrados para o valor de cadeia de caracteres duplicado fornecido. Retorna apenas resultados válidos para cadeias de caracteres obtidas por meio de GetNextDuplicateStrings.

Restrição de local: a API deve ser chamada de um componente IDE (nível > de componente 100.000).

Essa API foi introduzida no Visual Studio 17 Atualização 5 (DkmApiVersion.VS17Update5).

GetDataItem<T>()

Obtém a instância de 'T' que foi adicionada a essa instância de contêiner. Se esse contêiner não contiver um 'T', essa função retornará nulo.

(Herdado de DkmDataContainer)
GetNextDuplicateStrings(UInt32)

Tenta recuperar o valor da próxima parte solicitada das cadeias de caracteres duplicadas do heap gerenciado. Não deve ser chamado antes da conclusão da caminhada do heap.

Restrição de local: a API deve ser chamada de um componente IDE (nível > de componente 100.000).

Essa API foi introduzida no Visual Studio 17 Atualização 5 (DkmApiVersion.VS17Update5).

GetNextEventHandlerLeaks(UInt32)

Tenta recuperar o valor da próxima parte solicitada das instâncias do manipulador de eventos que vaza do heap gerenciado. Não deve ser chamado antes da conclusão da caminhada do heap.

Restrição de local: a API deve ser chamada de um componente IDE (nível > de componente 100.000).

Essa API foi introduzida no Visual Studio 17 Atualização 8 (DkmApiVersion.VS17Update8).

GetNextEventHandlerLeaksJMC(UInt32)

Tenta recuperar o valor da próxima parte solicitada das instâncias do manipulador de eventos que vaza do heap gerenciado com tipos excluídos filtrados. Não deve ser chamado antes da conclusão da caminhada do heap.

Restrição de local: a API deve ser chamada de um componente IDE (nível > de componente 100.000).

Essa API foi introduzida no Visual Studio 17 Atualização 8 (DkmApiVersion.VS17Update8).

GetNextSparseArrayDetails(DkmManagedTypeId, UInt32)

Tenta recuperar o valor da próxima parte solicitada dos objetos de instância de matriz esparsa.

Restrição de local: a API deve ser chamada de um componente IDE (nível > de componente 100.000).

Essa API foi introduzida no Visual Studio 17 Atualização 6 (DkmApiVersion.VS17Update6).

GetNextSparseArraySummaries(UInt32)

Tenta recuperar o valor da próxima parte solicitada dos objetos de resumo da matriz esparsa.

Restrição de local: a API deve ser chamada de um componente IDE (nível > de componente 100.000).

Essa API foi introduzida no Visual Studio 17 Atualização 6 (DkmApiVersion.VS17Update6).

GetRoots()

Retorna raízes do heap amostrado.

Restrição de local: a API deve ser chamada de um componente IDE (nível > de componente 100.000).

Essa API foi introduzida no Visual Studio 12 RTM (DkmApiVersion.VS12RTM).

GetSampledHeapData(UInt32)

Retorna a próxima parte solicitada dos dados do grafo de objeto serializado.

Restrição de local: a API deve ser chamada de um componente IDE (nível > de componente 100.000).

Essa API foi introduzida no Visual Studio 12 RTM (DkmApiVersion.VS12RTM).

GetSampledHeapDataWithoutRoots(UInt32)

Retorna a próxima parte solicitada de dados serializados do grafo de objeto, sem incluir informações raiz.

Restrição de local: a API deve ser chamada de um componente IDE (nível > de componente 100.000).

Essa API foi introduzida no Visual Studio 17 Atualização 4 (DkmApiVersion.VS17Update4).

GetSampledHeapTypeStats()

Retorna as estatísticas de tipo de heap.

Restrição de local: a API deve ser chamada de um componente IDE (nível > de componente 100.000).

Essa API foi introduzida no Visual Studio 12 RTM (DkmApiVersion.VS12RTM).

GetSampledHeapTypeStats176(Boolean)

Retorna as estatísticas de tipo de heap, incluindo opcionalmente objetos mortos nas contagens.

Restrição de local: a API deve ser chamada de um componente IDE (nível > de componente 100.000).

Essa API foi introduzida no Visual Studio 17 Atualização 6 (DkmApiVersion.VS17Update6).

GetSegments()

Obtém a lista de segmentos no heap.

Restrição de local: a API deve ser chamada de um componente IDE (nível > de componente 100.000).

Essa API foi introduzida no Visual Studio 17 Atualização 7 (DkmApiVersion.VS17Update7).

GetTotalBytesWastedByEventHandlerLeaks()

Retorna a quantidade total de bytes vazados por manipuladores de eventos no heap gerenciado. Esse cálculo é separado do valor BytesWasted de cada struct de informações de vazamento. Isso ocorre porque as subárvores de vazamentos podem se sobrepor, levando à contagem dupla de objetos retidos.

Restrição de local: a API deve ser chamada de um componente IDE (nível > de componente 100.000).

Essa API foi introduzida no Visual Studio 17 Atualização 8 (DkmApiVersion.VS17Update8).

GetTotalBytesWastedByEventHandlerLeaksJMC()

Retorna a quantidade total de bytes vazados por manipuladores de eventos no heap gerenciado com tipos excluídos filtrados. Esse cálculo é separado do valor BytesWasted de cada struct de informações de vazamento. Isso ocorre porque as subárvores de vazamentos podem se sobrepor, levando à contagem dupla de objetos retidos.

Restrição de local: a API deve ser chamada de um componente IDE (nível > de componente 100.000).

Essa API foi introduzida no Visual Studio 17 Atualização 8 (DkmApiVersion.VS17Update8).

InitializeHeapObjectWalk(UInt32, Boolean)

Inicializa o sampler de heap.

Restrição de local: a API deve ser chamada de um componente IDE (nível > de componente 100.000).

Essa API foi introduzida no Visual Studio 12 RTM (DkmApiVersion.VS12RTM).

NextObjects(UInt32)

Percorre o número determinado de objetos no heap.

Restrição de local: a API deve ser chamada de um componente IDE (nível > de componente 100.000).

Essa API foi introduzida no Visual Studio 12 RTM (DkmApiVersion.VS12RTM).

NextReferences(UInt32)

Percorre o número determinado de referências no heap.

Restrição de local: a API deve ser chamada de um componente IDE (nível > de componente 100.000).

Essa API foi introduzida no Visual Studio 12 RTM (DkmApiVersion.VS12RTM).

NextRoots(UInt32)

Percorre o número determinado de raízes de GC no heap.

Restrição de local: a API deve ser chamada de um componente IDE (nível > de componente 100.000).

Essa API foi introduzida no Visual Studio 12 RTM (DkmApiVersion.VS12RTM).

RemoveDataItem<T>()

Remova a instância de 'T' desse contêiner. Geralmente, é desnecessário chamar esse método, pois um contêiner de dados será esvaziado automaticamente quando o objeto for fechado.

(Herdado de DkmDataContainer)
SetDataItem<T>(DkmDataCreationDisposition, T)

Coloque um novo item no contêiner de dados.

(Herdado de DkmDataContainer)

Implantações explícitas de interface

IDisposable.Dispose()

A ser adicionado.

Aplica-se a