次の方法で共有


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' イベントが発生した場合 (例: DkmThread::Unload が呼び出された場合)、またはオブジェクトが閉じている場合は true を返します。 この状態を同期せずに確認する場合は、読み取った後に返される状態が正確でなくなる可能性があるため、注意が必要です。

(継承元 DkmDataContainer)
RuntimeInstance

DkmRuntimeInstance クラスは、DkmProcess に読み込まれ、デバッグするコードを含む実行環境を表します。

Thread

DkmThread は、ターゲット プロセスで実行されているスレッドを表します。

ThreadContext

[省略可能]スタック ウォークの実行時に使用する最初の Win32 CONTEXT。 この値は通常は 'null' ですが、別の呼び出し履歴 (.cxr など) を表示するために設定できます。

UniqueId

この DkmMonitorStackWalkContext を一意に識別する Guid。

メソッド

Close()

DkmMonitorStackWalkContext オブジェクト インスタンスを閉じます。 これにより、すべてのコンポーネントにわたって、このオブジェクトに関連付けられているすべてのリソースが解放されます。 これには、コンピューターまたはマネージド/ネイティブマーシャリングの境界を越えたリソースが含まれます。

DkmMonitorStackWalkContext オブジェクトは、関連付けられている DkmThread オブジェクトが閉じられると自動的に閉じられます。

このメソッドは、 オブジェクトを作成したコンポーネントによってのみ呼び出されます。

場所の制約: API は Monitor コンポーネント (コンポーネント レベル < 100,000) から呼び出す必要があります。

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

新しい DkmMonitorStackWalkContext オブジェクト インスタンスをCreateします。 呼び出し元は、作成されたオブジェクトが完了した後で閉じる役割を担います。

場所の制約: API は Monitor コンポーネント (コンポーネント レベル < 100,000) から呼び出す必要があります。

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

新しい DkmMonitorStackWalkContext オブジェクト インスタンスをCreateします。 呼び出し元は、作成されたオブジェクトが完了した後で閉じる役割を担います。

場所の制約: API は Monitor コンポーネント (コンポーネント レベル < 100,000) から呼び出す必要があります。

この API は、Visual Studio 17 Update 3 (DkmApiVersion.VS17Update3) で導入されました。

GetDataItem<T>()

このコンテナー インスタンスに追加された 'T' のインスタンスを取得します。 このコンテナーに 'T' が含まれていない場合、この関数は null を返します。

(継承元 DkmDataContainer)
Initialize(DkmFrameRegisters, UInt32)

Initialize は、ウォーク プロセスの開始時に各ウォーカーで 1 回だけ呼び出されます。 これにより、各ウォーカーは任意の状態を初期化できます。

場所の制約: API は Monitor コンポーネント (コンポーネント レベル < 100,000) から呼び出す必要があります。

RemoveDataItem<T>()

このコンテナーから 'T' のインスタンスを削除します。 通常、オブジェクトが閉じられるとデータ コンテナーが自動的に空になるので、このメソッドを呼び出す必要があります。

(継承元 DkmDataContainer)
SetDataItem<T>(DkmDataCreationDisposition, T)

データ コンテナーに新しい項目を配置します。

(継承元 DkmDataContainer)
UpdatePosition(DkmFrameRegisters, UInt32)

UpdatePosition は、別のウォーカーが 1 つ以上のフレームをウォークした後にスタックマージによって呼び出されるため、WalkNextFrame を呼び出す前にこのウォーカーを更新する必要があります。 ターゲット プロセス内で独自の内部スタック範囲の状態を維持するランタイムは、おそらくこのメソッド内で何も行う必要はありません。

場所の制約: API は Monitor コンポーネント (コンポーネント レベル < 100,000) から呼び出す必要があります。

WalkNextFrame()

次のスタック フレームのウォークを試みます。 DkmMonitorStackWalkResult 構造体は、このモニターがフレームをウォークできたかどうかを示します。

場所の制約: API は Monitor コンポーネント (コンポーネント レベル < 100,000) から呼び出す必要があります。

明示的なインターフェイスの実装

IDisposable.Dispose()

DkmMonitorStackWalkContext を使用すると、この呼び出し履歴でさまざまなコンポーネント DkmSymbolStackWalkContext を使用できます。

適用対象