DkmILPushLocalVariablePseudoAddress Класс

Определение

Помещает в стек псевдо-адрес, представляющий локальную переменную IL и смещение в байтах в пределах этой переменной. При извлечении из стека в качестве адреса инструкции, которые обычно считывают или записывают память в отлаживаемый процесс, вместо этого считывают или записывают байты на локальной переменной IL и смещение, указанное в псевдо-Address. Допускается передача псевдо-адреса в стек, соответствующий локальной переменной, которая не существует или содержит меньше байтов, чем указано смещение. Однако если время фактического чтения или записи данных в псевдо-адресе истекло, то резервная локальная переменная должна существовать и иметь достаточно данных, чтобы охватывать всю операцию чтения или записи. (Операции чтения могут быть обрезаны в конце буфера, если указан Алловпартиалреад). Псевдо-адрес может использоваться в качестве операнда арифметической операции в следующих случаях: — Добавление целого числа в псевдо-Address. (Целое число будет добавлено к смещению) — вычитание целого числа из псевдо-адреса. (Целое число будет вычтено из смещения). — вычитание двух псевдо-адресов друг от друга с помощью одной и той же локальной переменной. (Результатом является разница в смещениях). — Сравнение псевдо-адреса со значением NULL. (Любой псевдо-адрес считается больше значения NULL. Если все байты равны нулю, операнд считается равным NULL.) -Сравнение двух псевдо-адресов на равенство. — Сравнение двух псевдо-адресов для неравенства при резервном копировании по той же переменной. (Смещение будет сравниваться). Псевдо-адреса можно также использовать с Дкмилдупликатетоп или сохранить в локальных переменных с помощью Дкмиллоад и Дкмилсаве. Не допускается чтение или запись данных в псевдо-адресе, однако, если резервная локальная переменная содержит другой псевдо-адрес. Псевдо-адреса могут возвращаться в виде результатов IL с помощью инструкции Дкмилретурнтоп. Полученный Дкмилевалуатионресулт можно определить как псевдо-адрес с помощью свойства Испсеудоаддресс. Байты результата псевдо-адреса будут установлены либо на содержимое резервной локальной переменной, с указанного смещения до конца переменной, либо в пустое значение, если резервная локальная переменная не существует, является другим псевдо-адресом или не сохраняет достаточно байтов для хранения данных в заданном смещении. Псевдо-адреса также можно передать в качестве параметра в Дкмкомпиледилинспектионкуери, установив для параметра IsTrue значение true в Дкмилпараметервалуе. Нельзя использовать псевдо-адрес в любой инструкции IL, за исключением случаев, описанных выше. Попытка использовать псевдо-адрес любым другим способом приведет к исключению IL типа Дкмилфаилуререасон:: Инвалидпсеудоаддрессоператион. Например, нельзя умножить или разделить на псевдо-адреса или сохранить их в любом месте отлаживаемого процесса.

Этот API появился в Visual Studio 14 RTM (Дкмапиверсион. 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
Наследование
DkmILPushLocalVariablePseudoAddress
Атрибуты

Свойства

ByteOffset

Смещение во резервной локальной переменной, на которое ссылается этот псевдо-адрес.

Этот API появился в Visual Studio 14 RTM (Дкмапиверсион. VS14RTM).

Index

Индекс переменной IL, с которой должен быть создан псевдо-адрес.

         Этот API появился в Visual Studio 14 RTM (Дкмапиверсион. VS14RTM).
TagValue

Дкмилинструктион является абстрактным базовым классом. Это перечисление указывает, какой производный класс этот объект является экземпляром.

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

Уникально идентифицирует объект Дкмилинструктион. Используется в качестве ключа хэш-таблицы, чтобы обеспечить быстрое сопоставление инструкций Дкмил с соответствующими значениями.

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

Методы

Create(Int32, Int32)

Создайте новый экземпляр объекта Дкмилпушлокалвариаблепсеудоаддресс.

         Этот API появился в Visual Studio 14 RTM (Дкмапиверсион. VS14RTM).

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