DkmStackContext Classe

Definição

Os objetos DkmStackContext são criados por componentes que desejam solicitar a pilha do provedor de pilha. Um componente precisa fechar o contexto depois de concluir a movimentação da pilha. Para obter a pilha, um componente deve criar esse objeto e, em seguida, chamar GetNextFrames.

Classes derivadas: DkmStackTraceContext

public ref class DkmStackContext : Microsoft::VisualStudio::Debugger::DkmDataContainer, IDisposable
[System.Runtime.InteropServices.Guid("90f8ca28-617f-0b13-f421-fa6f1159973e")]
public class DkmStackContext : Microsoft.VisualStudio.Debugger.DkmDataContainer, IDisposable
[<System.Runtime.InteropServices.Guid("90f8ca28-617f-0b13-f421-fa6f1159973e")>]
type DkmStackContext = class
    inherit DkmDataContainer
    interface IDisposable
Public Class DkmStackContext
Inherits DkmDataContainer
Implements IDisposable
Herança
Derivado
Atributos
Implementações

Propriedades

AsyncContext

Adicional Se estivermos buscando os quadros de continuação ou os quadros de criação de tarefa, especifique o contexto para a operação de movimentação de pilha assíncrona.

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

FilterOptions

Opções de como a pilha de chamadas deve ser filtrada.

FormatOptions

Coleção de configurações que afetam como o provedor de pilha formata um DkmStackFrame.

InspectionSession

O DkmInspectionSession permite que os vários componentes inspecionem dados para armazenar dados privados que estão associados a um grupo de avaliações.

IsUnloaded

Retornará true se um evento ' Unloaded ' tiver sido gerado para este objeto (exemplo: DkmThread:: Unload é chamado) ou se o objeto foi 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 na instrução após sua leitura.

(Herdado de DkmDataContainer)
Operation

Que tipo de movimentação de pilha estamos fazendo. Se a operação for AsyncReturnStackWalk ou AsyncTaskCreationStackWalk, "Task" deverá ser não nulo. Caso contrário, "AsyncContext" deve ser nulo.

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

Thread

DkmThread representa um thread em execução no processo de destino.

ThreadContext

Adicional O contexto de thread inicial a ser usado ao executar a movimentação da pilha. Esse valor é normalmente ' NULL ', mas pode ser definido para exibir outra pilha de chamadas (ex:. CXR).

UniqueId

GUID que identifica exclusivamente este DkmStackContext.

Métodos

Close()

Fecha uma instância do objeto DkmStackContext. Isso liberará todos os recursos associados a esse objeto em todos os componentes. Isso inclui recursos no computador ou limites de Marshalling gerenciado/nativo.

Os objetos DkmStackContext são fechados automaticamente quando seu objeto DkmInspectionSession associado é fechado.

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

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

Create(DkmInspectionSession, DkmThread, DkmCallStackFilterOptions, DkmFrameFormatOptions, ReadOnlyCollection<Byte>, DkmAsyncStackWalkContext, DkmStackWalkOperation, DkmDataItem)

Crie uma nova instância do objeto DkmStackContext. O chamador é responsável por fechar o objeto criado depois que eles são concluídos.

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).

Create(DkmInspectionSession, DkmThread, DkmCallStackFilterOptions, DkmFrameFormatOptions, ReadOnlyCollection<Byte>, DkmDataItem)

Crie uma nova instância do objeto DkmStackContext. O chamador é responsável por fechar o objeto criado depois que eles são concluídos.

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

GetDataItem<T>()

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

(Herdado de DkmDataContainer)
GetNextFrames(DkmWorkList, Int32, DkmCompletionRoutine<DkmGetNextFramesAsyncResult>)

Obtenha os próximos quadros da pilha de chamadas. Se esta for a primeira chamada em um determinado DkmStackContext, isso retornará os primeiros quadros. Esse método é a maneira recomendada para obter a pilha de chamadas porque o provedor de pilha mantém um cache da pilha física.

Esse método acrescentará um novo item de trabalho à lista de trabalho especificada e retornará assim que o item de trabalho tiver sido anexado. O processamento real do item de trabalho é assíncrono. O chamador será notificado de que a solicitação foi concluída por meio da rotina de conclusão.

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

RemoveDataItem<T>()

Remova a instância de ' T' deste contêiner. Normalmente, é desnecessário chamar esse método, pois um contêiner de dados será automaticamente esvaziado 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