DkmMonitorStackWalkContext 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
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
- 繼承
- 繼承
- 屬性
- 實作
屬性
| 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。 |