IDkmMergedMonitorStackWalk Interface

Definition

IDkmMergedMonitorStackWalk is invoked by the stack provider. It will arbitrate between the various implementations of IDkmMonitorStackWalk to walk portions of the stack which should be walked inside the monitor (instead of walked inside the engine).

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.

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

Methods

GetTopStackWalkFrame(DkmThread, DkmRuntimeInstance)

Return the top stack frame for a thread. This frame can come from a runtime instance, or a monitor unwinder. This can only be called from the server process. To obtain the top frame in the client process, use GetTopStackFrame.

RuntimeWalkNextFrames(DkmStackWalkContext, UInt32, Boolean)

Attempt to walk the stack without the use of symbols. This will call into various components that know how to walk portions of the stack (ex: CLR frames will be walked by the CLR debug monitor). An 'unresolved' frame will be left for portions of the stack which cannot be walked without information stored within the symbol file. These 'unresolved' frames have no InstructionAddress or Description.

RuntimeWalkNextFramesAndCheckCache(DkmStackWalkContext, UInt32, UInt32, DkmStackHash, Boolean, DkmStackHash, DkmStackWalkContext, Boolean)

Deprecated. Do not use this method, it returns out-dated hash values; use IDkmMergedMonitorStackWalk164::RuntimeWalkNextFramesAndCheckCache164 instead. Version of RuntimeWalkNextFrames() that also checks if a cached copy of the call stack is still valid.

Applies to