DkmMonitorStackWalkContext 類別

定義

DkmMonitorStackWalkContext 允許使用這個呼叫堆棧的各種元件 DkmSymbolStackWalkContext。

public ref class DkmMonitorStackWalkContext : Microsoft::VisualStudio::Debugger::DkmDataContainer, IDisposable
[System.Runtime.InteropServices.Guid("4ce2f85d-5b40-4a4c-5eba-79e9228e48b1")]
public class DkmMonitorStackWalkContext : Microsoft.VisualStudio.Debugger.DkmDataContainer, IDisposable
[<System.Runtime.InteropServices.Guid("4ce2f85d-5b40-4a4c-5eba-79e9228e48b1")>]
type DkmMonitorStackWalkContext = class
    inherit DkmDataContainer
    interface IDisposable
Public Class DkmMonitorStackWalkContext
Inherits DkmDataContainer
Implements IDisposable
繼承
DkmMonitorStackWalkContext
繼承
DkmMonitorStackWalkContext
屬性
實作

屬性

Flags

旗標,可控制堆疊逐步解說期間所傳回的畫面格。

此 API 是在 Visual Studio 17 Update 3 (DkmApiVersion.VS17Update3) 中引進。

IsUnloaded

如果已針對這個對象引發 'unloaded' 事件,則傳回 true (範例:DkmThread::Unload 會呼叫) 或物件已關閉。 請注意,檢查此狀態時必須小心,而不進行同步處理,傳回的狀態在讀取之後可能無法再精確指示。

(繼承來源 DkmDataContainer)
RuntimeInstance

DkmRuntimeInstance 類別代表載入至 DkmProcess 的執行環境,其中包含要偵錯的程式代碼。

Thread

DkmThread 代表在目標進程中執行的線程。

ThreadContext

[選擇性]執行堆疊逐步解說時要使用的初始 Win32 CONTEXT。 此值通常是 『null』,但可以設定來檢視另一個呼叫堆疊 (,例如:.cxr) 。

UniqueId

Guid 可唯一識別此 DkmMonitorStackWalkContext。

方法

Close()

關閉 DkmMonitorStackWalkContext 物件實例。 這會釋放所有元件上與此對象相關聯的任何資源。 這包括跨計算機或受控/原生封送處理界限的資源。

當相關聯的 DkmThread 物件關閉時,DkmMonitorStackWalkContext 物件會自動關閉。

這個方法只能由建立 物件的元件呼叫。

位置條件約束:必須從監視器元件 (元件層級 < 100,000) 呼叫 API。

Create(DkmRuntimeInstance, DkmThread, ReadOnlyCollection<Byte>, DkmDataItem)

Create 新的 DkmMonitorStackWalkContext 物件實例。 呼叫端負責在完成之後關閉已建立的物件。

位置條件約束:必須從監視器元件 (元件層級 < 100,000) 呼叫 API。

Create(DkmRuntimeInstance, DkmThread, ReadOnlyCollection<Byte>, DkmStackWalkContextFlags, DkmDataItem)

Create 新的 DkmMonitorStackWalkContext 物件實例。 呼叫端負責在完成之後關閉已建立的物件。

位置條件約束:必須從監視器元件 (元件層級 < 100,000) 呼叫 API。

此 API 是在 Visual Studio 17 Update 3 (DkmApiVersion.VS17Update3) 中引進。

GetDataItem<T>()

取得已新增至這個容器實例的 『T』 實例。 如果此容器不包含 『T』,此函式會傳回 null。

(繼承來源 DkmDataContainer)
Initialize(DkmFrameRegisters, UInt32)

每次逐步解說程序開始時,都會叫用初始化。 這可讓每個逐步解說員有機會初始化任何狀態。

位置條件約束:必須從監視器元件 (元件層級 < 100,000) 呼叫 API。

RemoveDataItem<T>()

從這個容器中移除 『T』 的實例。 通常不需要呼叫這個方法,因為數據容器會在物件關閉時自動清空。

(繼承來源 DkmDataContainer)
SetDataItem<T>(DkmDataCreationDisposition, T)

將新專案放在數據容器中。

(繼承來源 DkmDataContainer)
UpdatePosition(DkmFrameRegisters, UInt32)

當另一個逐步解說程式已逐步執行一或多個畫面之後,堆疊合併就會叫用 UpdatePosition,因此在叫用 WalkNextFrame 之前,必須先更新此逐步解說程式。 在目標進程中維護自己的內部堆疊範圍狀態的運行時間,在此方法中可能沒有任何作用。

位置條件約束:必須從監視器元件 (元件層級 < 100,000) 呼叫 API。

WalkNextFrame()

嘗試逐步執行下一個堆疊框架。 DkmMonitorStackWalkResult 結構指出此監視器是否能夠逐步執行框架。

位置條件約束:必須從監視器元件 (元件層級 < 100,000) 呼叫 API。

明確介面實作

IDisposable.Dispose()

DkmMonitorStackWalkContext 允許使用這個呼叫堆棧的各種元件 DkmSymbolStackWalkContext。

適用於