IDkmMonitorStackWalk Интерфейс

Определение

Проверяет часть стека, которая относится к определенному Дкмрунтимеинстанце и возвращает кадры из этой среды выполнения.Examines the portion of the stack which is from a particular DkmRuntimeInstance and returns frames from this runtime. Идкммониторстакквалк используется для прохождения этого прохода на целевом компьютере. обычно этот обход выполняется без символов.IDkmMonitorStackWalk is used to do this walking on the target computer, and generally does this walk without symbols. Следует отметить, что для точного анализа стека монитора обычно требуется один из следующих: 1.It should be noted that accurate monitor stack walk generally requires either: 1. Монитор среды выполнения, чтобы полностью понять соглашение о вызовах своей базовой среды выполнения, и среда выполнения использует некоторый механизм, чтобы не нуждаться в коде из других сред выполнения, которые находятся в стеке для прослеживания.The runtime monitor to fully understand the calling convention of its underlying runtime AND the runtime employs some mechanism so that it doesn't need code from other runtimes which are on the stack to be walked. Например, среда CLR поддерживает диапазоны стека, поэтому при вызове управляемого кода в машинный код среда CLR по-прежнему может найти управляемый код, не требуя пошагового анализа машинного кода.For example, the CLR maintains stack ranges so when managed code calls off into native, the CLR can still find the managed code without needing to walk through native. -или-2.-or- 2. Соглашение о единообразном вызове, которое должно следовать всему коду.A uniform calling convention that all code needs to follow. Например, весь код должен соответствовать единому соглашению о вызовах в версиях Windows для x64 и IA-64.For example, all code must follow a uniform calling convention on x64 and IA-64 versions of Windows. Корпорация Майкрософт предоставит пять реализаций Идкммониторстакквалк: 1.Microsoft will provide five implementations of IDkmMonitorStackWalk: 1. Реализация для ICorDebug v2 2.An implementation for ICorDebug v2 2. Реализация для ICorDebug v4 3.An implementation for ICorDebug v4 3. Реализация для прохода по архитектуре x64/ia64 PDATA.An implementation for x64/ia64 PDATA walking. 4.4. Реализация для Активескрипт.An implementation for ActiveScript. 5.5. Реализация по умолчанию, которая объединяет неизвестные регионы для проработки в процессе ядра.A default implementation that bundles together unknown regions to be walked in the engine process.

Реализации этого интерфейса могут ограничивать, когда они вызываются с помощью фильтра, определенного в конфигурации компонента.Implementations of this interface may restrict when they are called using a filter defined in their component configuration. Можно использовать следующие свойства: Баседебугмониторид, Енгинеид, Рунтимеид.The following properties may be used: BaseDebugMonitorId, EngineId, RuntimeId.

public interface class IDkmMonitorStackWalk
public interface class IDkmMonitorStackWalk
__interface IDkmMonitorStackWalk
public interface IDkmMonitorStackWalk
type IDkmMonitorStackWalk = interface
Public Interface IDkmMonitorStackWalk

Методы

Initialize(DkmMonitorStackWalkContext, DkmFrameRegisters, UInt32)

Инициализация вызывается для каждого из обходчиков ровно один раз в начале процесса обхода.Initialize is invoked on each walker exactly once at the beginning of the walk process. Это дает каждому проходе возможность инициализировать любое состояние.This gives each walker a chance to initialize any state.

UpdatePosition(DkmMonitorStackWalkContext, DkmFrameRegisters, UInt32)

Упдатепоситион вызывается слиянием стека после того, как другой обходчик просмотрел один или несколько кадров, поэтому перед вызовом Валкнекстфраме необходимо обновить этот анализатор.UpdatePosition is invoked by the stack merger after another walker has walked one or more frames, and so this walker must be updated before invoking WalkNextFrame. Среды выполнения, которые поддерживают собственное внутреннее состояние диапазона стека в в целевом процессе, скорее всего, не будут выполнять никаких действий в этом методе.Runtimes that maintain their own internal stack range state within in the target process will likely have nothing to do within this method.

WalkNextFrame(DkmMonitorStackWalkContext)

Попытайтесь проанализировать следующий кадр стека.Attempt to walk the next stack frame. Структура Дкммониторстакквалкресулт указывает, удалось ли монитору проанализировать кадр.The DkmMonitorStackWalkResult structure indicates if this monitor was able to walk the frame.

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