Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Метод GetContextStackTraceEx возвращает кадры в верхней части стека вызовов, начиная с произвольного контекст регистра и возвращая восстановленный контекст регистра для каждого кадра стека. Метод GetContextStackTraceEx обеспечивает встроенную поддержку кадров. Дополнительные сведения о работе с встроенными функциями см. в разделе Отладка оптимизированного кода и встроенных функций.
Синтаксис
HRESULT GetContextStackTraceEx(
[in, optional] PVOID StartContext,
[in] ULONG StartContextSize,
[out, optional] PDEBUG_STACK_FRAME_EX Frames,
[in] ULONG FramesSize,
[out, optional] PVOID FrameContexts,
[in] ULONG FrameContextsSize,
[in] ULONG FrameContextsEntrySize,
[out, optional] PULONG FramesFilled
);
Параметры
[in, optional] StartContext
Указывает контекст регистрации для верхней части стека.
[in] StartContextSize
Задает размер в байтах контекста регистрации StartCon text.
[out, optional] Frames
Получает кадры стека. Количество элементов, которые содержит этот массив, составляет FrameSize. Если кадрыnull, эти сведения не возвращаются.
[in] FramesSize
Указывает количество элементов в массиве кадры.
[out, optional] FrameContexts
Получает восстановленный контекст регистра для каждого кадра в стеке. Записи в этом массиве соответствуют записям в массиве кадров. Тип контекста потока — это структура CONTEXT для эффективного процессора целевого объекта. Если FrameContextsnull, эти сведения не возвращаются.
[in] FrameContextsSize
Задает размер памяти в байтах, на которую указывает FrameContexts. Число возвращаемых кадров стека равно числу возвращенных контекстов, а FrameContextsSize должно быть равно FrameSize раз FrameContextsEntrySize.
[in] FrameContextsEntrySize
Задает размер в байтах каждого контекста кадра в FrameContexts.
[out, optional] FramesFilled
Получает количество кадров, которые были помещены в массив Кадры и контексты в FrameContexts. Если FramesFilledNULL, эти сведения не возвращаются.
Возвращаемое значение
| Возвращаемый код | Описание |
|---|---|
|
Метод был успешным. |
Этот метод также может возвращать значения ошибок. Дополнительные сведения см. в возвращаемых значений.
Замечания
Трассировка стека, возвращенная кадров и FrameContexts, можно распечатать с помощью OutputContextStackTraceEx.
Обычно для восстановления стека выполняется восстановление только подмножества регистров. Например, очистка стека не всегда восстанавливает состояние переменной регистра, так как переменные регистры являются регистрами царапин и код не требует их сохранения. Регистры, которые не восстанавливаются при очистке, остаются в качестве последнего значения восстановленного, поэтому при использовании состояния регистрации, которое не может быть восстановлено с помощью очистки.
Требования
| Требование | Ценность |
|---|---|
| целевая платформа | Настольный |
| заголовка | dbgeng.h (include Dbgeng.h, Ntddk.h) |