次の方法で共有


ICorDebugStackWalk::GetContext メソッド

ICorDebugStackWalk オブジェクトの現在のフレームのコンテキストを返します。

HRESULT GetContext([in]  ULONG32 contextFlags,
                   [in]  ULONG32 contextBufSize,
                   [out] ULONG32* contextSize,
                   [out, size_is(contextBufSize)] BYTE contextBuf[]);

パラメーター

  • contextFlags
    [入力] (WinNT.h で定義された) コンテキスト バッファーの要求されたコンテンツを示すフラグ。

  • contextBufSize
    [入力] コンテキスト バッファーの割り当てられているサイズ。

  • contextSize
    [出力] コンテキストの実際のサイズ。 この値は、コンテキスト バッファーのサイズ以下である必要があります。

  • contextBuf
    [出力] コンテキスト バッファー。

戻り値

このメソッドは、次の特定の HRESULT と、メソッドの失敗を示す HRESULT エラーも返します。

HRESULT

説明

S_OK

現在のフレームのコンテキストは正常に返されました。

E_FAIL

コンテキストは返されませんでした。

HRESULT_FROM_WIN32(ERROR_INSUFFICIENT BUFFER)

コンテキスト バッファーは小さすぎます。

CORDBG_E_PAST_END_OF_STACK

フレーム ポインターは、スタックの末尾に既に存在します。したがって、追加のフレームにはアクセスできません。

解説

アンワインドでは、不揮発性レジスタなどのレジスタのサブセットのみ復元されるため、コンテキストは、呼び出し時のレジスタの状態と正確に一致しない場合があります。

必要条件

プラットフォーム: 「.NET Framework システム要件」を参照

ヘッダー: CorDebug.idl、CorDebug.h

ライブラリ: CorGuids.lib

.NET Framework のバージョン: 4

参照

その他の技術情報

デバッグのインターフェイス

デバッグ (アンマネージ API リファレンス)