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


функция обратного вызова 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 (include Wdbgexts.h, Dbgeng.h)