Поделиться через


DkmStepper.Create Метод

Определение

Перегрузки

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

Объекты DkmStepper создаются компонентами, которые хотят выполнить шаг. Степеры уровня пользователя создаются с помощью AD7-AL. Чтобы инициализировать объект пошагового выполнения, необходимо вызвать Enable. Объекты stepper будут жить до завершения шага или прерывания.

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

Объекты DkmStepper создаются компонентами, которые хотят выполнить шаг. Степеры уровня пользователя создаются с помощью AD7-AL. Чтобы инициализировать объект пошагового выполнения, необходимо вызвать Enable. Объекты stepper будут жить до завершения шага или прерывания.

Этот API появился в Visual Studio 12 RTM (DkmApiVersion.VS12RTM).

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

Объекты DkmStepper создаются компонентами, которые хотят выполнить шаг. Степеры уровня пользователя создаются с помощью AD7-AL. Чтобы инициализировать объект пошагового выполнения, необходимо вызвать Enable. Объекты stepper будут жить до завершения шага или прерывания.

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

Параметры

Thread
DkmThread

[В] DkmThread представляет поток, выполняющийся в целевом процессе.

StartingAddress
DkmInstructionAddress

[In,необязательный] Адрес инструкции процесса на момент начала этого шага. Это значение будет иметь значение NULL, если шаг был создан в потоке без фреймов (скрипт & только управляемый).

FrameBase
UInt64

[В] Основание первого кадра в начале шага. Это значение будет MAXUINT64, если параметр StartingAddress не указан.

StepKind
DkmStepKind

[В] DkmStepKind описывает, как выполнить шаг потока при вызове метода Step.

StepUnit
DkmStepUnit

[В] DkmStepUnit описывает степень детализации шага при вызове метода Step.

SourceId
Guid

[В] Идентифицирует источник объекта . SourceId используются для включения фильтрации в сценариях, когда несколько компонентов могут создавать экземпляры класса. Например, исходные идентификаторы можно использовать для определения того, исходит ли точка останова из AD7 AL (например, точка останова пользователя или другая точка останова, видимая на уровне SDM), а не точка останова, которая может быть создана другим компонентом (например, внутренней точкой останова, используемой для пошагового выполнения).

CodePath
DkmSteppingCodePath

[In,необязательный] Если StepKind имеет значение StepIntoSpecific, указывает, к какому вызову мы переходим. В противном случае имеет значение NULL.

CrossThreadParent
DkmStepper

[In,необязательный] Если новый шаговый модуль создается с помощью OnCrossThreadStepArbitration, диспетчер пошагового выполнения установит это поле, чтобы упростить возврат к исходному шагу, если шаг перекрестного потока завершается сбоем или требует отката. Не рекомендуется. Вместо этого используйте GetCrossThreadParent.

DataItem
DkmDataItem

[In,необязательный] Объект данных, добавляемый в новый экземпляр DkmStepper. Передайте null в случае, если вызывающему объекту не нужно добавлять элемент данных.

Возвращаемое значение

[Out] Результат вызова этого метода.

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

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

Объекты DkmStepper создаются компонентами, которые хотят выполнить шаг. Степеры уровня пользователя создаются с помощью AD7-AL. Чтобы инициализировать объект пошагового выполнения, необходимо вызвать Enable. Объекты stepper будут жить до завершения шага или прерывания.

Этот API появился в Visual Studio 12 RTM (DkmApiVersion.VS12RTM).

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

Параметры

Thread
DkmThread

[В] DkmThread представляет поток, выполняющийся в целевом процессе.

StartingAddress
DkmInstructionAddress

[In,необязательный] Адрес инструкции процесса на момент начала этого шага. Это значение будет иметь значение NULL, если шаг был создан в потоке без фреймов (скрипт & только управляемый).

FrameBase
UInt64

[В] Основание первого кадра в начале шага. Это значение будет MAXUINT64, если параметр StartingAddress не указан.

StepKind
DkmStepKind

[В] DkmStepKind описывает, как выполнить шаг потока при вызове метода Step.

StepUnit
DkmStepUnit

[В] DkmStepUnit описывает степень детализации шага при вызове метода Step.

SourceId
Guid

[В] Идентифицирует источник объекта . SourceId используются для включения фильтрации в сценариях, когда несколько компонентов могут создавать экземпляры класса. Например, исходные идентификаторы можно использовать для определения того, исходит ли точка останова из AD7 AL (например, точка останова пользователя или другая точка останова, видимая на уровне SDM), а не точка останова, которая может быть создана другим компонентом (например, внутренней точкой останова, используемой для пошагового выполнения).

CodePath
DkmSteppingCodePath

[In,необязательный] Если StepKind имеет значение StepIntoSpecific, указывает, к какому вызову мы переходим. В противном случае имеет значение NULL.

CrossThreadParent
DkmStepper

[In,необязательный] Если новый шаговый модуль создается с помощью OnCrossThreadStepArbitration, диспетчер пошагового выполнения установит это поле, чтобы упростить возврат к исходному шагу, если шаг перекрестного потока завершается сбоем или требует отката. Не рекомендуется. Вместо этого используйте GetCrossThreadParent.

ShouldCaptureReturnValue
Boolean

[В] В управляемой отладке он указывает, хочет ли шаговый пользователь захватить возвращаемое значение во время пошагового выполнения. Значение по умолчанию — false.

CurrentCodePaths
ReadOnlyCollection<DkmSteppingCodePath>

[In,необязательный] В управляемой отладке он содержит все пути кода в текущем диапазоне шагов. В противном случае имеет значение NULL.

CurrentMethodName
String

[In,необязательный] В управляемой отладке он содержит текущее имя метода. В противном случае имеет значение NULL.

DataItem
DkmDataItem

[In,необязательный] Объект данных, добавляемый в новый экземпляр DkmStepper. Передайте null в случае, если вызывающему объекту не нужно добавлять элемент данных.

Возвращаемое значение

[Out] Результат вызова этого метода.

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