Compartilhar via


DkmStackFrame Classe

Definição

DkmStackFrame representa um quadro na pilha de chamadas após filtragem e tradução.

public ref class DkmStackFrame : Microsoft::VisualStudio::Debugger::CallStack::DkmStackWalkFrame
[Windows::Foundation::Metadata::WebHostHidden]
public ref class DkmStackFrame : Microsoft::VisualStudio::Debugger::CallStack::DkmStackWalkFrame
[Windows::Foundation::Metadata::WebHostHidden]
class DkmStackFrame : Microsoft::VisualStudio::Debugger::CallStack::DkmStackWalkFrame
[System.Runtime.InteropServices.Guid("9e32fe11-196e-a0ec-b83c-0792427e91a2")]
public class DkmStackFrame : Microsoft.VisualStudio.Debugger.CallStack.DkmStackWalkFrame
[<System.Runtime.InteropServices.Guid("9e32fe11-196e-a0ec-b83c-0792427e91a2")>]
type DkmStackFrame = class
    inherit DkmStackWalkFrame
Public Class DkmStackFrame
Inherits DkmStackWalkFrame
Herança
DkmStackFrame
Atributos

Propriedades

AnnotatedModule

[Opcional] Se tivermos um quadro anotado, especificará uma instância de módulo opcional a ser associada a esse quadro. Se estiver presente, o usuário poderá carregar binários ou símbolos para este módulo clicando com o botão direito do mouse nesse quadro na janela pilha de chamadas. Isso é NULL para quadros não anotados.

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

(Herdado de DkmStackWalkFrame)
Annotations

[Opcional] Uma coleção somente leitura de anotações de quadro de pilha. Eles são definidos por um desenrolador e são específicos para esse desenrolador. Um exemplo de uso é como os dados de quadro embutidos são passados do filtro de pilha embutido para o formatador.

(Herdado de DkmStackWalkFrame)
AsyncContext

[Opcional] Contexto opcional para pilhas de retorno assíncronas e pilhas de criação de tarefas.

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

(Herdado de DkmStackWalkFrame)
BasicSymbolInfo

[Opcional] Contém informações básicas sobre o DkmInstructionSymbol correspondente ao InstructionAddress do quadro. Para quadros nativos, isso será calculado pelo StackProvider antes que o quadro seja passado para um filtro de pilha.

Isso sempre será nulo para um DkmStackFrame.

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

(Herdado de DkmStackWalkFrame)
CompilerId

LanguageId/VendorId para o compilador que produziu o código para esse quadro de pilha. Se isso for desconhecido (por exemplo: sem símbolos carregados para este módulo), ambos os valores serão Guid.Empty. Caso contrário, ambos os valores devem ser diferentes de zero.

Connection

Isso representa uma conexão entre o monitor e o IDE. Ele pode ser uma conexão local se o monitor estiver em execução no mesmo processo que o IDE ou pode ser uma conexão remota. No processo de monitor, há apenas uma conexão.

(Herdado de DkmStackWalkFrame)
Data

[Opcional] Objeto opcional a ser anexado a um DkmStackWalkFrame, permitindo que os componentes associem dados privados adicionais ao quadro.

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

(Herdado de DkmStackWalkFrame)
Description

[Opcional] Descrição do quadro que será exibido na janela de pilha de chamadas. Isso deve ser fornecido para quadros anotados.

(Herdado de DkmStackWalkFrame)
Flags

Sinaliza propriedades de um DkmStackWalkFrame.

(Herdado de DkmStackWalkFrame)
FrameBase

Ponteiro de pilha base do quadro. Isso é usado pelo SDM para classificar o quadro e é usado pela fusão de pilha para avaliar o progresso da caminhada, portanto, esse valor é necessário até mesmo para quadros anotados. Esse valor só deve ser inválido caso a pilha do depurador esteja corrompida.

(Herdado de DkmStackWalkFrame)
FrameName

Nome do quadro de pilha. DkmStackFrame.FormatOptions determina o formato do nome da função.

FrameSize

Número de bytes da pilha consumida por esse quadro. Esse valor será zero para quadros anotados ou se o valor for desconhecido.

(Herdado de DkmStackWalkFrame)
InstructionAddress

[Opcional] A instrução deste quadro. Isso pode ser omitido para quadros anotados.

(Herdado de DkmStackWalkFrame)
IsStale

Especifica se esse quadro de pilha está obsoleto ou não após editar e continuar.

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

ModuleInstance

[Opcional] O módulo que contém esse endereço. Endereços sem um módulo não podem ter símbolos (mesmo para endereços personalizados). Os endereços CLR sempre terão um módulo. Os endereços nativos não terão um módulo se a CPU saltar para um endereço inválido (ex: NULL) ou se a CPU estiver executando código emitido dinamicamente.

(Herdado de DkmStackWalkFrame)
Options

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

Priority

A prioridade do quadro de caminhada da pilha. Normalmente, isso é usado para quadros anotados que detectaram um problema.

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

(Herdado de DkmStackWalkFrame)
Process

O DkmProcess representa um processo de destino que está sendo depurado. O depurador depura processos, portanto, essa é a unidade básica de depuração. Um DkmProcess pode representar um processo do sistema ou um processo virtual, como minidumps.

(Herdado de DkmStackWalkFrame)
Registers

[Opcional] Registros do quadro andado. Eles devem ser fornecidos para quadros não anotados.

(Herdado de DkmStackWalkFrame)
ReturnType

[Opcional] Nome do tipo de retorno do quadro de pilha. Isso só é fornecido quando DkmFrameNameFormatOptions.ReturnTypeField é definido.

RuntimeInstance

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

(Herdado de DkmStackWalkFrame)
SourcePosition

[Opcional] Local do código-fonte para esse quadro de pilha. Isso só é fornecido quando DkmFrameNameFormatOptions.DocumentPositionField é definido.

Thread

O thread no qual esse quadro de pilha está ativado.

(Herdado de DkmStackWalkFrame)
UniqueId

Um identificador exclusivo para o DkmStackWalkFrame. Em cenários de depuração remota, isso poderá ser GUID_NULL/Guid.Empty se o quadro tiver sido empacotado de um IDE/Depurador Remoto mais antigo.

Essa API foi introduzida no Visual Studio 16 Atualização 10 (DkmApiVersion.VS16Update10).

(Herdado de DkmStackWalkFrame)

Métodos

CanSetNextStatement(DkmInstructionAddress)

CanSetNextStatement determina se é possível mover o IP de um quadro de pilha. O quadro de pilha é sempre o quadro de pilha folha em um thread específico. Essa API só pode ser implementada no processo do mecanismo. O parâmetro Result out deve ser S_OK ou o valor de um HRESULT com falha que a interface do usuário pode mapear para uma mensagem de erro.

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

(Herdado de DkmStackWalkFrame)
ComputeUserStatus(DkmInspectionSession, Boolean)

Determina se um quadro é ou não o código do usuário.

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

(Herdado de DkmStackWalkFrame)
Create(DkmStackWalkFrame, DkmFrameFormatOptions, DkmCompilerId, String, String, DkmSourcePosition)

Create uma nova instância de objeto DkmStackFrame.

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

Create(DkmStackWalkFrame, DkmFrameFormatOptions, DkmCompilerId, String, String, DkmSourcePosition, Boolean)

Create uma nova instância de objeto DkmStackFrame.

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 15 Atualização 6 (DkmApiVersion.VS15Update6).

ExtractFromAD7Object(IDebugStackFrame2)

Obtém um DkmStackFrame de um objeto de quadro de pilha do AD7. Essa API é usada por pacotes ou suplementos do Visual Studio que desejam acessar a API do Concord para obter informações mais detalhadas sobre o processo depurado. Essa API só funcionará corretamente do thread main do Visual Studio.

ExtractFromDTEObject(StackFrame)

Obtém um DkmStackFrame de um objeto de quadro de pilha DTE (automação do depurador). Essa API é usada por pacotes ou suplementos do Visual Studio que desejam acessar a API do Concord para obter informações mais detalhadas sobre o processo depurado. O objeto de automação geralmente é obtido do evento de automação 'OnContextChanged' ou da propriedade Debugger.CurrentStackFrame. Essa API só funcionará corretamente do thread main do Visual Studio.

Format(DkmInspectionSession, DkmFrameFormatOptions)

Formate um DkmStackWalkFrame em um DkmStackFrame. Formatar um quadro é uma etapa do que o provedor de pilha faz durante GetNextFrames. Esse método pode ser usado para formatar um quadro de uma maneira diferente do que foi originalmente executado pelo provedor de pilha em GetNextFrames.

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

(Herdado de DkmStackWalkFrame)
GetClrGenericParameters()

Obtém os parâmetros genéricos para o quadro de pilha atual como uma lista de nomes qualificados de assembly.

Essa API foi introduzida no Visual Studio 14 RTM (DkmApiVersion.VS14RTM).

(Herdado de DkmStackWalkFrame)
GetClrGenericParameters(DkmWorkList, DkmCompletionRoutine<DkmGetClrGenericParametersAsyncResult>)

Obtém os parâmetros genéricos para o quadro de pilha atual como uma lista de nomes qualificados de assembly.

Esse método acrescentará um novo item de trabalho à lista de trabalho especificada e retornará depois que o item de trabalho for acrescentado. 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.

Essa API foi introduzida no Visual Studio 14 RTM (DkmApiVersion.VS14RTM).

(Herdado de DkmStackWalkFrame)
GetEffectiveAddresses(DkmInstructionAddress)

Um método que calcula e retorna os endereços efetivos para o endereço solicitado. O endereço efetivo é o endereço calculado que um operando de instrução representa. Por exemplo, em x86, uma instrução pode ser do formulário dwordptr [esp-12]. O endereço efetivo desse operando será o resultado da subtração 12 do esp. O número de operandos e endereços efetivos são específicos da arquitetura.

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

GetInspectionInterface(DkmInspectionSession, Guid)

GetInspectionInterface é usado para obter um ICorDebugFrame ou outras interfaces específicas da implementação que um componente pode usar para inspecionar profundamente o quadro de pilha.

A interface retornada só pode ser usada para inspecionar o processo de destino e NUNCA deve ser usada para controlar a execução (sem etapas, nenhum ponto de interrupção, nenhuma continuação etc. Isso não tem suporte e resultará em um comportamento indefinido. OBSERVAÇÃO: o uso desse método do código gerenciado não é recomendado por motivos de desempenho. O marshalling de DkmStackWalkFrame entre código nativo e gerenciado é caro. Em vez disso, use DkmRuntimeInstance.GetFrameInspectionInterface.

Restrição de local: essa API deve ser chamada do mesmo processo em que o runtime de destino implementa o andamento da pilha ou onde os símbolos são carregados. Para depuração gerenciada, isso significa que, ao depurar processos remotos ou de 64 bits, essa API deve ser chamada de um componente de monitor de depuração.

(Herdado de DkmStackWalkFrame)
GetInstructionSymbol()

Retornar um DkmInstructionSymbol para um quadro de pilha. Se o quadro de pilha não tiver nenhum endereço de instrução (quadro anotado) ou o endereço de instrução não tiver DkmModule associado, GetInstructionSymbol retornará nulo (S_FALSE no código nativo).

(Herdado de DkmStackWalkFrame)
GetProperty(ICorDebugValue, String)

Avalia uma propriedade no ICorDebugValue especificado. O tipo do valor deve ser carregado pelo DkmClrAppDomain do DkmStackWalkFrame no qual esse $Name$ está sendo chamado.

Restrição de local: isso deve estar no lado remoto porque estamos passando um ICorDebugHandleValue.

Essa API foi introduzida no Visual Studio 15 Atualização 3 (DkmApiVersion.VS15Update3).

(Herdado de DkmStackWalkFrame)
GetUnwindAddress(DkmInstructionAddress)

Retorna o endereço que representa o local se uma exceção for interceptada nesse quadro.

(Herdado de DkmStackWalkFrame)
InterceptCurrentException(DkmExceptionInterceptActionFlags, UInt64)

InterceptCurrentException é usado para desenrolar esse quadro como se houvesse um manipulador de exceção nesse quadro.

(Herdado de DkmStackWalkFrame)
OnSetNextStatementCompleted(DkmInstructionAddress)

OnSetNextStatementCompleted é um método de finalidade geral para permitir que os componentes limpem o estado após a conclusão de uma próxima instrução definida. O DkmStackWalkFrame será o quadro antes da chamada SetNextStatement.

Restrição de local: essa API geralmente deve ser chamada apenas de componentes do lado do cliente. No entanto, é seguro que um componente do lado do monitor chame essa API se a próxima instrução set estiver sendo chamada de um manipulador de eventos.

(Herdado de DkmStackWalkFrame)
SetNextStatement(DkmInstructionAddress)

SetNextStatement move o IP de um quadro de pilha. O quadro de pilha é sempre o quadro de pilha folha em um thread específico.

(Herdado de DkmStackWalkFrame)

Aplica-se a