функция обратного вызова 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) |