次の方法で共有


IDebugControl4::OutputContextStackTrace メソッド (dbgeng.h)

OutputContextStackTrace メソッドは、スタック フレームと対応するレジスタ コンテキストの配列で指定された呼び出し履歴を出力します。

構文

HRESULT OutputContextStackTrace(
  [in] ULONG              OutputControl,
  [in] PDEBUG_STACK_FRAME Frames,
  [in] ULONG              FramesSize,
  [in] PVOID              FrameContexts,
  [in] ULONG              FrameContextsSize,
  [in] ULONG              FrameContextsEntrySize,
  [in] ULONG              Flags
);

パラメーター

[in] OutputControl

出力を送信する場所を指定します。 使用可能な値については、「 DEBUG_OUTCTL_XXX」を参照してください。

[in] Frames

出力するスタック フレームの配列を指定します。 この配列内の要素の数は FramesSize ですFramesNULL の場合、現在のスタック フレームが使用されます。

[in] FramesSize

出力するフレーム数を指定します。

[in] FrameContexts

スタック内の各フレームのレジスタ コンテキストを指定します。 この配列のエントリは 、Frames 配列のエントリに対応します。 スレッド コンテキストの型は、ターゲットの有効なプロセッサの CONTEXT 構造体です。

[in] FrameContextsSize

FrameContexts が指すメモリのサイズをバイト単位で指定します。 スタック フレームの数はコンテキストの数と等しく、FrameContextsSize は FrameContextsEntrySize を乗算した FramesSize である必要があります。

[in] FrameContextsEntrySize

FrameContexts の各フレーム コンテキストのサイズをバイト単位で指定します。

[in] Flags

フレームごとに出力する情報を決定するビット フラグを指定します。 フラグ は、次の表の値の任意の組み合わせにすることができます。

フラグ 説明
DEBUG_STACK_ARGUMENTS 各呼び出しのフレームに、スタック メモリの最初の 3 つの部分を表示します。 スタックに引数が渡され、フレームのコードでスタック引数が使用されるプラットフォームでは、これらの値は関数の引数になります。
DEBUG_STACK_FUNCTION_INFO フレームに対応する関数に関する情報を表示します。 これには、呼び出し規則とフレーム ポインター省略 (FPO) 情報が含まれます。
DEBUG_STACK_SOURCE_LINE スタック トレースの各フレームのソース行情報を表示します。
DEBUG_STACK_FRAME_ADDRESSES 各フレームのリターン アドレス、前のフレーム アドレス、およびその他の関連するアドレスを表示します。
DEBUG_STACK_COLUMN_NAMES 列名を表示します。
DEBUG_STACK_NONVOLATILE_REGISTERS 各フレームの非揮発性レジスタ コンテキストを表示します。 これは、一部のプラットフォームでのみ意味があります。
DEBUG_STACK_FRAME_NUMBERS フレーム番号を表示します。
DEBUG_STACK_PARAMETERS シンボル情報で指定されたパラメーター名と値を表示します。
DEBUG_STACK_FRAME_ADDRESSES_RA_ONLY スタック フレーム アドレスのリターン アドレスのみを表示します。
DEBUG_STACK_FRAME_MEMORY_USAGE フレームを区切るバイト数を表示します。
DEBUG_STACK_PARAMETERS_NEWLINE 各パラメーターとその型と値を新しい行に表示します。

戻り値

このメソッドは、エラー値を返す場合もあります。 詳細については、「 戻り値 」を参照してください。

リターン コード 説明
S_OK
メソッドは正常に実行されました。

注釈

スタック フレームの配列は 、GetContextStackTrace を使用して取得できます。

要件

要件
対象プラットフォーム デスクトップ
Header dbgeng.h (Dbgeng.h、Ntddk.h を含む)

こちらもご覧ください

GetContextStackTrace

IDebugControl4

OutputStackTrace

k、kb、kc、kd、kp、kP、kv (スタック バックトレースの表示)