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


Метод IDebugControl5::OutputStackTraceEx (dbgeng.h)

Метод OutputStackTraceEx выводит предоставленный кадр стека или текущий кадр стека. Метод OutputStackTraceEx обеспечивает поддержку встроенных кадров. Дополнительные сведения о работе со встроенными функциями см. в разделах Отладка оптимизированного кода и Встроенные функции.

Синтаксис

HRESULT OutputStackTraceEx(
  [in]           ULONG                 OutputControl,
  [in, optional] PDEBUG_STACK_FRAME_EX Frames,
  [in]           ULONG                 FramesSize,
  [in]           ULONG                 Flags
);

Параметры

[in] OutputControl

Указывает, куда следует отправлять выходные данные. Возможные значения см. в разделе DEBUG_OUTCTL_XXX.

[in, optional] Frames

Указывает массив кадров стека для вывода. Число элементов в этом массиве — FramesSize. Если параметр Frames имеет значение NULL, используются текущие кадры стека.

[in] FramesSize

Указывает количество кадров для вывода.

[in] Flags

Задает битовые флаги, определяющие, какие сведения следует выводить для каждого кадра. Флаги могут быть любым сочетанием значений из следующей таблицы.

Flag Описание
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 Отображает каждый параметр, его тип и значение в новой строке.

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

Этот метод также может возвращать значения ошибок. Дополнительные сведения см. в разделе Возвращаемые значения .

Код возврата Описание
S_OK
Метод выполнен успешно.

Комментарии

Массив кадров стека можно получить с помощью GetStackTraceEx.

Требования

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

См. также раздел

GetContextStackTraceEx

GetStackTraceEx

IDebugControl5

k, kb, kc, kd, kp, kP, kv (обратная трассировка стека отображения)