DkmILPushLocalVariablePseudoAddress Klasse

Definition

Überträgt eine Pseudo Adresse auf dem Stapel, die die lokale IL-Variable und einen Byte Offset innerhalb dieser Variablen darstellt. Wenn Sie aus dem Stapel als Adresse per pop ausgelesen werden, werden von Anweisungen, die normalerweise Speicher im zu debuggenden Prozess lesen oder schreiben, stattdessen Bytes in der lokalen IL-Variable und in der Pseudo Adresse festgelegter Offset gelesen oder geschrieben. Es ist zulässig, eine Pseudo Adresse auf den Stapel zu verschieben, der einer lokalen Variablen entspricht, die nicht vorhanden ist oder weniger Bytes als der angegebene Offset aufweist. Wenn jedoch die Zeiten zum eigentlichen lesen oder Schreiben von Daten mit einer Pseudo Adresse erforderlich sind, muss die unterstützende lokale Variable vorhanden sein, und es müssen ausreichend Daten vorhanden sein, um den gesamten Lese-oder Schreibvorgang abzudecken. (Lesevorgänge können am Ende des Puffers abgeschnitten werden, wenn allowpartialread angegeben ist.) Eine Pseudo Adresse kann in den folgenden Fällen als Operand eines arithmetischen Vorgangs verwendet werden:-Hinzufügen einer Ganzzahl als Pseudo Adresse. (Die Ganzzahl wird dem Offset hinzugefügt): Subtrahiert eine ganze Zahl von einer Pseudo Adresse. (Die Ganzzahl wird vom Offset subtrahiert). : Subtrahiert zwei Pseudo Adressen voneinander, gestützt durch die gleiche lokale Variable. (Das Ergebnis ist der Unterschied in Offsets). -Vergleichen einer Pseudo Adresse mit NULL. (Eine beliebige Pseudo Adresse gilt als größer als NULL. Ein Operand wird als null betrachtet, wenn alle Bytes NULL sind.) -Vergleichen von zwei Pseudo Adressen auf Gleichheit. -Vergleichen von zwei Pseudo Adressen, die auf Ungleichheit basieren, wenn diese von derselben Variablen gestützt werden. (Die Offsets werden verglichen). Pseudo Adressen können auch mit dkmilduplialisietop verwendet oder in lokalen Variablen über dkmilload und dkmilsave gespeichert werden. Es ist jedoch unzulässig, Daten mit einer Pseudo Adresse zu lesen oder zu schreiben, wenn die unterstützende lokale Variable eine andere Pseudo Adresse enthält. Pseudo Adressen können als Il-Ergebnis über die dkmilreturntop-Anweisung zurückgegeben werden. Das resultierende dkmilevaluationresult-Element kann über die ispseudoaddress-Eigenschaft als Pseudo Adresse identifiziert werden. Die Ergebnis Bytes einer Pseudo Adresse werden entweder auf den Inhalt der unterstützenden lokalen Variable, vom angegebenen Offset bis zum Ende der Variablen festgelegt oder leer, wenn die unterstützende lokale Variable nicht vorhanden ist, eine andere Pseudo Adresse ist oder nicht genügend Bytes speichert, um Daten am angegebenen Offset zu enthalten. Pseudo Adressen können auch als Parameter an eine dkmcompiledilinspectionquery übergeben werden, indem IsByRef für "dkmilparametervalue" auf "true" festgelegt wird. Es ist unzulässig, eine Pseudo Adresse in einer Il-Anweisung zu verwenden, außer wie oben beschrieben. Der Versuch, eine Pseudo Adresse auf andere Weise zu verwenden, führt zu einer Il-Ausnahme vom Typ dkmilfailurereason:: invalidpseudoaddressoperation. Beispielsweise können Sie nicht mit Pseudo Adressen multiplizieren oder aufteilen, oder Sie können Sie an einer beliebigen Stelle im zu debuggenden Prozess speichern.

Diese API wurde in Visual Studio 14 RTM (dkmapiversion. VS14RTM) eingeführt.

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
Vererbung
DkmILPushLocalVariablePseudoAddress
Attribute

Eigenschaften

ByteOffset

Der Offset innerhalb der unterstützenden lokalen Variablen, auf den sich diese Pseudo Adresse bezieht.

Diese API wurde in Visual Studio 14 RTM (dkmapiversion. VS14RTM) eingeführt.

Index

Der Index der Il-Variablen, durch die diese Pseudo Adresse gesichert werden soll.

         Diese API wurde in Visual Studio 14 RTM (dkmapiversion. VS14RTM) eingeführt.
TagValue

Dkmilinkonstruktion ist eine abstrakte Basisklasse. Diese Enumeration gibt an, welche abgeleitete Klasse dieses Objekt eine Instanz von ist.

(Geerbt von DkmILInstruction)
UniqueId

Identifiziert das dkmilinkonstruktions-Objekt eindeutig. Wird als Hash Tabellenschlüssel verwendet, damit dkmil-Anweisungen schnell mit ihren übereinstimmenden Werten abgeglichen werden können.

(Geerbt von DkmILInstruction)

Methoden

Create(Int32, Int32)

Erstellen Sie eine neue dkmilpushlocalvariablepseudoaddress-Objektinstanz.

         Diese API wurde in Visual Studio 14 RTM (dkmapiversion. VS14RTM) eingeführt.

Gilt für