Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Метод 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. Если кадрыNULL, используется текущий кадр стека.
[in] FramesSize
Указывает количество кадров для вывода.
[in] FrameContexts
Указывает контекст регистра для каждого кадра в стеке. Записи в этом массиве соответствуют записям в массиве кадров. Тип контекста потока — это структура CONTEXT для эффективного процессора целевого объекта.
[in] FrameContextsSize
Задает размер памяти в байтах, на которую указывает FrameContexts. Количество кадров стека должно быть равно количеству контекстов, а FrameContextsSize должно быть равно FrameSize умножено на FrameContextsEntrySize.
[in] FrameContextsEntrySize
Задает размер в байтах каждого контекста кадра в FrameContexts.
[in] Flags
Указывает битовые флаги, определяющие, какие сведения следует выводить для каждого кадра. Флаги могут быть любым сочетанием значений из следующей таблицы.
| Флаг | Описание |
|---|---|
| DEBUG_STACK_ARGUMENTS | Отображает первые три части памяти стека в кадре каждого вызова. На платформах, где аргументы передаются в стеке, и код кадра использует аргументы стека, эти значения будут аргументами функции. |
| 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 | Отображает каждый параметр и его тип и значение в новой строке. |
Возвращаемое значение
Этот метод также может возвращать значения ошибок. Дополнительные сведения см. в возвращаемых значений.
| Возвращаемый код | Описание |
|---|---|
|
Метод был успешным. |
Замечания
Массив кадров стека можно получить с помощью GetContextStackTrace.
Требования
| Требование | Ценность |
|---|---|
| целевая платформа | Настольный |
| заголовка | dbgeng.h (include Dbgeng.h, Ntddk.h) |