Freigeben über


DkmStepper.Create Methode

Definition

Überlädt

Create(DkmThread, DkmInstructionAddress, UInt64, DkmStepKind, DkmStepUnit, Guid, DkmSteppingCodePath, DkmStepper, DkmDataItem)

DkmStepper-Objekte werden von Komponenten erstellt, die einen Schritt ausführen möchten. Stepper auf Benutzerebene werden vom AD7-AL erstellt. Um ein Schrittobjekt zu initialisieren, muss Enable aufgerufen werden. Schrittobjekte werden aktiv, bis der Schritt abgeschlossen ist oder abgebrochen wird.

Create(DkmThread, DkmInstructionAddress, UInt64, DkmStepKind, DkmStepUnit, Guid, DkmSteppingCodePath, DkmStepper, Boolean, ReadOnlyCollection<DkmSteppingCodePath>, String, DkmDataItem)

DkmStepper-Objekte werden von Komponenten erstellt, die einen Schritt ausführen möchten. Stepper auf Benutzerebene werden vom AD7-AL erstellt. Um ein Schrittobjekt zu initialisieren, muss Enable aufgerufen werden. Schrittobjekte werden aktiv, bis der Schritt abgeschlossen ist oder abgebrochen wird.

Diese API wurde in Visual Studio 12 RTM (DkmApiVersion.VS12RTM) eingeführt.

Create(DkmThread, DkmInstructionAddress, UInt64, DkmStepKind, DkmStepUnit, Guid, DkmSteppingCodePath, DkmStepper, DkmDataItem)

DkmStepper-Objekte werden von Komponenten erstellt, die einen Schritt ausführen möchten. Stepper auf Benutzerebene werden vom AD7-AL erstellt. Um ein Schrittobjekt zu initialisieren, muss Enable aufgerufen werden. Schrittobjekte werden aktiv, bis der Schritt abgeschlossen ist oder abgebrochen wird.

public:
 static Microsoft::VisualStudio::Debugger::Stepping::DkmStepper ^ Create(Microsoft::VisualStudio::Debugger::DkmThread ^ Thread, Microsoft::VisualStudio::Debugger::DkmInstructionAddress ^ StartingAddress, System::UInt64 FrameBase, Microsoft::VisualStudio::Debugger::Stepping::DkmStepKind StepKind, Microsoft::VisualStudio::Debugger::Stepping::DkmStepUnit StepUnit, Guid SourceId, Microsoft::VisualStudio::Debugger::Stepping::DkmSteppingCodePath ^ CodePath, Microsoft::VisualStudio::Debugger::Stepping::DkmStepper ^ CrossThreadParent, Microsoft::VisualStudio::Debugger::DkmDataItem ^ DataItem);
public static Microsoft.VisualStudio.Debugger.Stepping.DkmStepper Create (Microsoft.VisualStudio.Debugger.DkmThread Thread, Microsoft.VisualStudio.Debugger.DkmInstructionAddress StartingAddress, ulong FrameBase, Microsoft.VisualStudio.Debugger.Stepping.DkmStepKind StepKind, Microsoft.VisualStudio.Debugger.Stepping.DkmStepUnit StepUnit, Guid SourceId, Microsoft.VisualStudio.Debugger.Stepping.DkmSteppingCodePath CodePath, Microsoft.VisualStudio.Debugger.Stepping.DkmStepper CrossThreadParent, Microsoft.VisualStudio.Debugger.DkmDataItem DataItem);
public static Microsoft.VisualStudio.Debugger.Stepping.DkmStepper Create (Microsoft.VisualStudio.Debugger.DkmThread Thread, Microsoft.VisualStudio.Debugger.DkmInstructionAddress? StartingAddress, ulong FrameBase, Microsoft.VisualStudio.Debugger.Stepping.DkmStepKind StepKind, Microsoft.VisualStudio.Debugger.Stepping.DkmStepUnit StepUnit, Guid SourceId, Microsoft.VisualStudio.Debugger.Stepping.DkmSteppingCodePath? CodePath, Microsoft.VisualStudio.Debugger.Stepping.DkmStepper? CrossThreadParent, Microsoft.VisualStudio.Debugger.DkmDataItem? DataItem);
static member Create : Microsoft.VisualStudio.Debugger.DkmThread * Microsoft.VisualStudio.Debugger.DkmInstructionAddress * uint64 * Microsoft.VisualStudio.Debugger.Stepping.DkmStepKind * Microsoft.VisualStudio.Debugger.Stepping.DkmStepUnit * Guid * Microsoft.VisualStudio.Debugger.Stepping.DkmSteppingCodePath * Microsoft.VisualStudio.Debugger.Stepping.DkmStepper * Microsoft.VisualStudio.Debugger.DkmDataItem -> Microsoft.VisualStudio.Debugger.Stepping.DkmStepper
Public Shared Function Create (Thread As DkmThread, StartingAddress As DkmInstructionAddress, FrameBase As ULong, StepKind As DkmStepKind, StepUnit As DkmStepUnit, SourceId As Guid, CodePath As DkmSteppingCodePath, CrossThreadParent As DkmStepper, DataItem As DkmDataItem) As DkmStepper

Parameter

Thread
DkmThread

[In] DkmThread stellt einen Thread dar, der im Zielprozess ausgeführt wird.

StartingAddress
DkmInstructionAddress

[In,Optional] Die Anweisungsadresse des Prozesses zu dem Zeitpunkt, zu dem dieser Schritt gestartet wurde. Dies ist NULL, wenn der Schritt aus einem Thread ohne Frames stammt (Skript & nur verwaltet).

FrameBase
UInt64

[In] Die Framebasis des ersten Frames am Anfang des Schritts. Dieser Wert wird MAXUINT64, wenn die StartingAddress nicht angegeben wurde.

StepKind
DkmStepKind

[In] DkmStepKind beschreibt, wie Sie den Thread stufen, wenn die Step-Methode aufgerufen wird.

StepUnit
DkmStepUnit

[In] DkmStepUnit beschreibt die Granularität des Schritts, wenn die Step-Methode aufgerufen wird.

SourceId
Guid

[In] Gibt die Quelle eines Objekts an. SourceIds werden verwendet, um die Filterung in Szenarien zu aktivieren, in denen mehrere Komponenten Instanzen einer Klasse erstellen. Beispielsweise können Quell-IDs verwendet werden, um zu bestimmen, ob ein Haltepunkt aus dem AD7 AL stammt (z. B. Benutzer-Haltepunkt oder ein anderer Haltepunkt, der auf SDM-Ebene sichtbar ist) anstelle eines Haltepunkts, der von einer anderen Komponente erstellt werden kann (z. B. ein interner Haltepunkt, der für das Schrittschritt verwendet wird).

CodePath
DkmSteppingCodePath

[In,Optional] Wenn StepKind "StepIntoSpecific" ist, gibt an, auf welchen Aufruf wir eingehen. Andernfalls ist es NULL.

CrossThreadParent
DkmStepper

[In,Optional] Wenn ein neuer Schritt mit OnCrossThreadStepArbitration erstellt wird, legt der Schritt-Manager dieses Feld so fest, dass es einfach ist, zum ursprünglichen Schritt zurückzukehren, wenn der Kreuzthreadschritt fehlschlägt oder ein Fallback erforderlich ist. Veraltet. Verwenden Sie stattdessen GetCrossThreadParent.

DataItem
DkmDataItem

[In,Optional] Datenobjekt, das dem neuen DkmStepper-instance hinzugefügt werden soll. Übergeben Sie "null", falls der Aufrufer kein Datenelement hinzufügen muss.

Gibt zurück

[Out] Ergebnis dieses Methodenaufrufs.

Gilt für:

Create(DkmThread, DkmInstructionAddress, UInt64, DkmStepKind, DkmStepUnit, Guid, DkmSteppingCodePath, DkmStepper, Boolean, ReadOnlyCollection<DkmSteppingCodePath>, String, DkmDataItem)

DkmStepper-Objekte werden von Komponenten erstellt, die einen Schritt ausführen möchten. Stepper auf Benutzerebene werden vom AD7-AL erstellt. Um ein Schrittobjekt zu initialisieren, muss Enable aufgerufen werden. Schrittobjekte werden aktiv, bis der Schritt abgeschlossen ist oder abgebrochen wird.

Diese API wurde in Visual Studio 12 RTM (DkmApiVersion.VS12RTM) eingeführt.

public:
 static Microsoft::VisualStudio::Debugger::Stepping::DkmStepper ^ Create(Microsoft::VisualStudio::Debugger::DkmThread ^ Thread, Microsoft::VisualStudio::Debugger::DkmInstructionAddress ^ StartingAddress, System::UInt64 FrameBase, Microsoft::VisualStudio::Debugger::Stepping::DkmStepKind StepKind, Microsoft::VisualStudio::Debugger::Stepping::DkmStepUnit StepUnit, Guid SourceId, Microsoft::VisualStudio::Debugger::Stepping::DkmSteppingCodePath ^ CodePath, Microsoft::VisualStudio::Debugger::Stepping::DkmStepper ^ CrossThreadParent, bool ShouldCaptureReturnValue, System::Collections::ObjectModel::ReadOnlyCollection<Microsoft::VisualStudio::Debugger::Stepping::DkmSteppingCodePath ^> ^ CurrentCodePaths, System::String ^ CurrentMethodName, Microsoft::VisualStudio::Debugger::DkmDataItem ^ DataItem);
public static Microsoft.VisualStudio.Debugger.Stepping.DkmStepper Create (Microsoft.VisualStudio.Debugger.DkmThread Thread, Microsoft.VisualStudio.Debugger.DkmInstructionAddress StartingAddress, ulong FrameBase, Microsoft.VisualStudio.Debugger.Stepping.DkmStepKind StepKind, Microsoft.VisualStudio.Debugger.Stepping.DkmStepUnit StepUnit, Guid SourceId, Microsoft.VisualStudio.Debugger.Stepping.DkmSteppingCodePath CodePath, Microsoft.VisualStudio.Debugger.Stepping.DkmStepper CrossThreadParent, bool ShouldCaptureReturnValue, System.Collections.ObjectModel.ReadOnlyCollection<Microsoft.VisualStudio.Debugger.Stepping.DkmSteppingCodePath> CurrentCodePaths, string CurrentMethodName, Microsoft.VisualStudio.Debugger.DkmDataItem DataItem);
public static Microsoft.VisualStudio.Debugger.Stepping.DkmStepper Create (Microsoft.VisualStudio.Debugger.DkmThread Thread, Microsoft.VisualStudio.Debugger.DkmInstructionAddress? StartingAddress, ulong FrameBase, Microsoft.VisualStudio.Debugger.Stepping.DkmStepKind StepKind, Microsoft.VisualStudio.Debugger.Stepping.DkmStepUnit StepUnit, Guid SourceId, Microsoft.VisualStudio.Debugger.Stepping.DkmSteppingCodePath? CodePath, Microsoft.VisualStudio.Debugger.Stepping.DkmStepper? CrossThreadParent, bool ShouldCaptureReturnValue, System.Collections.ObjectModel.ReadOnlyCollection<Microsoft.VisualStudio.Debugger.Stepping.DkmSteppingCodePath>? CurrentCodePaths, string? CurrentMethodName, Microsoft.VisualStudio.Debugger.DkmDataItem? DataItem);
static member Create : Microsoft.VisualStudio.Debugger.DkmThread * Microsoft.VisualStudio.Debugger.DkmInstructionAddress * uint64 * Microsoft.VisualStudio.Debugger.Stepping.DkmStepKind * Microsoft.VisualStudio.Debugger.Stepping.DkmStepUnit * Guid * Microsoft.VisualStudio.Debugger.Stepping.DkmSteppingCodePath * Microsoft.VisualStudio.Debugger.Stepping.DkmStepper * bool * System.Collections.ObjectModel.ReadOnlyCollection<Microsoft.VisualStudio.Debugger.Stepping.DkmSteppingCodePath> * string * Microsoft.VisualStudio.Debugger.DkmDataItem -> Microsoft.VisualStudio.Debugger.Stepping.DkmStepper
Public Shared Function Create (Thread As DkmThread, StartingAddress As DkmInstructionAddress, FrameBase As ULong, StepKind As DkmStepKind, StepUnit As DkmStepUnit, SourceId As Guid, CodePath As DkmSteppingCodePath, CrossThreadParent As DkmStepper, ShouldCaptureReturnValue As Boolean, CurrentCodePaths As ReadOnlyCollection(Of DkmSteppingCodePath), CurrentMethodName As String, DataItem As DkmDataItem) As DkmStepper

Parameter

Thread
DkmThread

[In] DkmThread stellt einen Thread dar, der im Zielprozess ausgeführt wird.

StartingAddress
DkmInstructionAddress

[In,Optional] Die Anweisungsadresse des Prozesses zu dem Zeitpunkt, zu dem dieser Schritt gestartet wurde. Dies ist NULL, wenn der Schritt aus einem Thread ohne Frames stammt (Skript & nur verwaltet).

FrameBase
UInt64

[In] Die Framebasis des ersten Frames am Anfang des Schritts. Dieser Wert wird MAXUINT64, wenn die StartingAddress nicht angegeben wurde.

StepKind
DkmStepKind

[In] DkmStepKind beschreibt, wie Sie den Thread stufen, wenn die Step-Methode aufgerufen wird.

StepUnit
DkmStepUnit

[In] DkmStepUnit beschreibt die Granularität des Schritts, wenn die Step-Methode aufgerufen wird.

SourceId
Guid

[In] Gibt die Quelle eines Objekts an. SourceIds werden verwendet, um die Filterung in Szenarien zu aktivieren, in denen mehrere Komponenten Instanzen einer Klasse erstellen. Beispielsweise können Quell-IDs verwendet werden, um zu bestimmen, ob ein Haltepunkt aus dem AD7 AL stammt (z. B. Benutzer-Haltepunkt oder ein anderer Haltepunkt, der auf SDM-Ebene sichtbar ist) anstelle eines Haltepunkts, der von einer anderen Komponente erstellt werden kann (z. B. ein interner Haltepunkt, der für das Schrittschritt verwendet wird).

CodePath
DkmSteppingCodePath

[In,Optional] Wenn StepKind "StepIntoSpecific" ist, gibt an, auf welchen Aufruf wir eingehen. Andernfalls ist es NULL.

CrossThreadParent
DkmStepper

[In,Optional] Wenn ein neuer Schritt mit OnCrossThreadStepArbitration erstellt wird, legt der Schritt-Manager dieses Feld so fest, dass es einfach ist, zum ursprünglichen Schritt zurückzukehren, wenn der Kreuzthreadschritt fehlschlägt oder ein Fallback erforderlich ist. Veraltet. Verwenden Sie stattdessen GetCrossThreadParent.

ShouldCaptureReturnValue
Boolean

[In] Beim verwalteten Debuggen gibt er an, ob der Schritt den Rückgabewert während des Schritts erfassen wollte. Der Standardwert ist false.

CurrentCodePaths
ReadOnlyCollection<DkmSteppingCodePath>

[In,Optional] Beim verwalteten Debuggen enthält es alle Codepfade im aktuellen Schrittbereich. Andernfalls ist es NULL.

CurrentMethodName
String

[In,Optional] Beim verwalteten Debuggen enthält es den aktuellen Methodennamen. Andernfalls ist es NULL.

DataItem
DkmDataItem

[In,Optional] Datenobjekt, das dem neuen DkmStepper-instance hinzugefügt werden soll. Übergeben Sie "null", falls der Aufrufer kein Datenelement hinzufügen muss.

Gibt zurück

[Out] Ergebnis dieses Methodenaufrufs.

Gilt für: