Поделиться через


функция обратного вызова PWINDBG_STACKTRACE_ROUTINE (wdbgexts.h)

Функция PWINDBG_STACKTRACE_ROUTINE (StackTrace) извлекает трассировку стека для отлаживаемого процесса. Возвращает количество кадров, считанных в буфер, на который указывает StackFrames.

Синтаксис

PWINDBG_STACKTRACE_ROUTINE PwindbgStacktraceRoutine;

ULONG PwindbgStacktraceRoutine(
  [in]  ULONG FramePointer,
  [in]  ULONG StackPointer,
  [in]  ULONG ProgramCounter,
  [out] PEXTSTACKTRACE StackFrames,
  [in]  ULONG Frames
)
{...}

Параметры

[in] FramePointer

Указывает указатель кадра. Если конкретное значение не требуется, его следует просто задать равным нулю.

[in] StackPointer

Указывает указатель стека. Если конкретное значение не требуется, его следует просто задать равным нулю.

[in] ProgramCounter

Указывает указатель инструкции. Если конкретное значение не требуется, его следует просто задать равным нулю.

[out] StackFrames

Получает сведения о стеке. StackFrames должен быть указателем на буфер, который достаточно велик, чтобы вместить количество кадров стека, указанное в параметре Кадры. Кадры стека хранятся в следующей структуре данных:

typedef struct _tagEXTSTACKTRACE {
    ULONG       FramePointer;
    ULONG       ProgramCounter;
    ULONG       ReturnAddress;
    ULONG       Args[4];
} EXTSTACKTRACE, *PEXTSTACKTRACE;

[in] Frames

Указывает максимальное количество кадров, которые будут помещаться в буфер.

Возвращаемое значение

Фактическое количество кадров, записанных в буфер, на который указывает StackFrames.

Комментарии

Для расширения WdbgExts включите Wdbgexts.h. Для

расширение DbgEng, включая Wdbgexts.h до

Dbgeng.h. См . статью Написание кода расширения DbgEng для

.

Требования

Требование Значение
Целевая платформа Персональный компьютер
Верхняя часть wdbgexts.h (включая Wdbgexts.h, Dbgeng.h)