DkmSymbolStackWalkContext Class

Definition

DkmSymbolStackWalkContext allows the various symbol providers which walk the call stack to store private data which is associated with this call stack.

public ref class DkmSymbolStackWalkContext : Microsoft::VisualStudio::Debugger::DkmDataContainer, IDisposable
[System.Runtime.InteropServices.Guid("ca6905ca-dfde-bacc-31e6-fef0ad7fee7e")]
public class DkmSymbolStackWalkContext : Microsoft.VisualStudio.Debugger.DkmDataContainer, IDisposable
[<System.Runtime.InteropServices.Guid("ca6905ca-dfde-bacc-31e6-fef0ad7fee7e")>]
type DkmSymbolStackWalkContext = class
    inherit DkmDataContainer
    interface IDisposable
Public Class DkmSymbolStackWalkContext
Inherits DkmDataContainer
Implements IDisposable
Inheritance
DkmSymbolStackWalkContext
Attributes
Implements

Properties

IsUnloaded

Returns true if a 'unloaded' event has been raised for this object (example: DkmThread::Unload is called) or if the object has been closed. Note that care must be used when checking this status as, without synchronization, the returned status may no longer be accurate the instruction after it is read.

(Inherited from DkmDataContainer)
StackWalkContext

DkmStackWalkContext allows the various components which walk, filter, or examine call stacks to store private data which is associated with this call stack.

SymbolProviderId

Unique identifier for symbol files/symbol providers.

Thread

DkmThread represents a thread running in the target process.

ThreadContext

[Optional] The initial Win32 CONTEXT to use when performing the stack walk. This value is normally 'null' but can be set in order to view another call stack (ex: .cxr).

Methods

Close()

Closes a DkmSymbolStackWalkContext object instance. This will release any resources associated with this object across all components. This includes resources across computer or managed/native marshalling boundaries.

DkmSymbolStackWalkContext objects are automatically closed when their associated DkmStackWalkContext object is closed.

This method may only be called by the component which created the object.

Location constraint: API must be called from an IDE component (component level > 100,000).

Create(DkmStackWalkContext, Guid, DkmDataItem)

Create a new DkmSymbolStackWalkContext object instance. The caller is responsible for closing the created object after they are done.

Location constraint: API must be called from an IDE component (component level > 100,000).

GetDataItem<T>()

Gets the instance of 'T' which has been added to this container instance. If this container does not contain a 'T', this function will return null.

(Inherited from DkmDataContainer)
Initialize(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.

Location constraint: API must be called from an IDE component (component level > 100,000).

RemoveDataItem<T>()

Remove the instance of 'T' from this container. It is usually unnecessary to call this method as a data container will automatically be emptied when the object is closed.

(Inherited from DkmDataContainer)
SetDataItem<T>(DkmDataCreationDisposition, T)

Place a new item in the data container.

(Inherited from DkmDataContainer)
UpdatePosition(DkmFrameRegisters, UInt32, DkmInstructionAddress)

UpdatePosition is invoked by the stack provider after another walker has walked one or more frames, and so this walker must be updated before invoking WalkNextFrame.

Location constraint: API must be called from an IDE component (component level > 100,000).

WalkNextFrame(DkmFrameRegisters)

Walk the next stack frame from the call stack.

Location constraint: API must be called from an IDE component (component level > 100,000).

Explicit Interface Implementations

IDisposable.Dispose()

Applies to