DkmILPushLocalVariablePseudoAddress Classe

Definição

Envia um pseudo endereço na pilha que representa a variável local IL e um deslocamento de byte dentro dessa variável. Quando exibida da pilha como um endereço, as instruções que normalmente lêem ou gravariam a memória no processo de depuração, em vez disso, lerá ou gravarão bytes na variável local IL e no deslocamento especificado no pseudo endereço. É permitido enviar por push um pseudocódigo para a pilha correspondente a uma variável local que não existe ou que tenha menos bytes do que o deslocamento especificado. No entanto, quando os horários para realmente ler ou gravar dados em um pseudo endereço, a variável local de backup deve existir e deve ter dados suficientes para abranger toda a operação de leitura ou gravação. (As leituras podem ser truncadas no final do buffer se AllowPartialRead for especificado). Um pseudo-endereço pode ser usado como o operando de uma operação aritmética nos seguintes casos:-adicionar um número inteiro a um pseudo endereço. (O número inteiro será adicionado ao deslocamento) – subtraindo um inteiro de um pseudo endereço. (O número inteiro será subtraído do deslocamento). -subtraindo dois pseudo endereços uns dos outros, apoiados pela mesma variável local. (O resultado é a diferença em deslocamentos). -comparando um pseudo address com NULL. (Qualquer pseudo endereço é considerado maior que nulo. Um operando será considerado nulo se todos os bytes forem zero.) -comparando dois pseudo endereços para igualdade. -comparando dois pseudo endereços para desigualdade, quando apoiado pela mesma variável. (Os deslocamentos serão comparados). Os pseudo endereços também podem ser usados com DkmILDuplicateTop ou salvos em variáveis locais por meio de DkmILLoad e DkmILSave. É ilegal ler ou gravar dados em um pseudo endereço, no entanto, se a variável local de backup contiver outro endereço. Os pseudo endereços podem ser retornados como um resultado de IL por meio da instrução DkmILReturnTop. O DkmILEvaluationResult resultante pode ser identificado como um pseudo-endereço por meio da propriedade IsPseudoAddress. Os bytes de resultado de um pseudo endereço serão definidos como o conteúdo da variável local de backup, a partir do deslocamento especificado até o final da variável, ou vazio, se a variável local de backup não existir, for outro pseudocódigo ou não armazenar bytes suficientes para conter dados no deslocamento dado no offset. Os pseudo endereços também podem ser passados como um parâmetro para um DkmCompiledILInspectionQuery definindo IsByRef como true no DkmILParameterValue. É ilegal usar um pseudo endereço em qualquer instrução IL, exceto conforme descrito acima. Uma tentativa de usar um pseudo endereço de qualquer outra maneira resultará em uma exceção de IL do tipo DkmILFailureReason:: InvalidPseudoAddressOperation. Por exemplo, você não pode multiplicar ou dividir com pseudo-endereços ou armazená-los em qualquer lugar no processo de depuração.

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

public ref class DkmILPushLocalVariablePseudoAddress : Microsoft::VisualStudio::Debugger::Evaluation::IL::DkmILInstruction
[Windows::Foundation::Metadata::WebHostHidden]
public ref class DkmILPushLocalVariablePseudoAddress : Microsoft::VisualStudio::Debugger::Evaluation::IL::DkmILInstruction
[Windows::Foundation::Metadata::WebHostHidden]
class DkmILPushLocalVariablePseudoAddress : Microsoft::VisualStudio::Debugger::Evaluation::IL::DkmILInstruction
[System.Runtime.InteropServices.Guid("56f239a7-cc68-aa1a-8b1a-ee0cb4ff9834")]
public class DkmILPushLocalVariablePseudoAddress : Microsoft.VisualStudio.Debugger.Evaluation.IL.DkmILInstruction
[<System.Runtime.InteropServices.Guid("56f239a7-cc68-aa1a-8b1a-ee0cb4ff9834")>]
type DkmILPushLocalVariablePseudoAddress = class
    inherit DkmILInstruction
Public Class DkmILPushLocalVariablePseudoAddress
Inherits DkmILInstruction
Herança
DkmILPushLocalVariablePseudoAddress
Atributos

Propriedades

ByteOffset

O deslocamento, dentro da variável local de backup, a que se refere esse pseudo endereço.

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

Index

O índice da variável de IL para o qual esse pseudocódigo deve ser apoiado.

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

DkmILInstruction é uma classe base abstrata. Essa enumeração indica a qual classe derivada esse objeto é uma instância do.

(Herdado de DkmILInstruction)
UniqueId

Identifica exclusivamente o objeto DkmILInstruction. Usado como uma chave de tabela de hash para permitir a correspondência rápida de instruções de DkmIL com seus valores correspondentes.

(Herdado de DkmILInstruction)

Métodos

Create(Int32, Int32)

Crie uma nova instância do objeto DkmILPushLocalVariablePseudoAddress.

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

Aplica-se a