Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Предоставляет текстовое представление трассировки управляемого стека и массив записей CONTEXT, по одной для каждого перехода между неуправляемым и управляемым кодом.
Синтаксис
HRESULT CALLBACK _EFN_StackTrace(
[in] PDEBUG_CLIENT Client,
[out] WCHAR wszTextOut[],
[out] size_t *puiTextLength,
[out] LPVOID pTransitionContexts,
[out] size_t *puiTransitionContextCount,
[in] size_t uiSizeOfContext,
[in] DWORD Flags
);
Параметры
Client [in] Отлаживаемый клиент.
wszTextOut [out] Текстовое представление трассировки стека.
puiTextLength [out] Указатель на число символов в wszTextOut.
pTransitionContexts [out] Массив контекстов перехода.
puiTransitionContextCount [out] Указатель на число контекстов перехода в массиве.
uiSizeOfContext [in] Размер структуры контекста.
Flags [in] Установите значение 0 или SOS_STACKTRACE_SHOWADDRESSES (0x01), чтобы отобразить регистр EBP и указатель стека (ESP) перед каждой module!functionname строкой.
Замечания
Структура _EFN_StackTrace может вызываться из программного интерфейса WinDbg. Параметры используются следующим образом:
Если
wszTextOutзначение равно null иpuiTextLengthне равно null, функция возвращает длину строки вpuiTextLength.Если
wszTextOutзначение не равно NULL, функция сохраняет текст вwszTextOutрасположении, указанномуpuiTextLength. Он возвращается успешно, если в буфере было достаточно места или возвращается E_OUTOFMEMORY, если буфер был недостаточно длинным.Переходная часть функции игнорируется, если
pTransitionContextsиpuiTransitionContextCountимеет значение NULL. В этом случае функция предоставляет вызывающим абонентам текстовые выходные данные только имен функций.Если
pTransitionContextsзначение равно null иpuiTransitionContextCountне равно null, функция возвращает необходимое количество записей контекста вpuiTransitionContextCount.Если
pTransitionContextsзначение не равно NULL, функция обрабатывает ее как массив структур длиныpuiTransitionContextCount. Размер структуры присваиваетсяuiSizeOfContextи должен быть размером SimpleContext илиCONTEXTархитектуры.wszTextOutзаписывается в следующем формате:"<ModuleName>!<Function Name>[+<offset in hex>] ... (TRANSITION) ..."Если смещение в шестнадцатеричном виде 0x0, смещение не записывается.
Если в данный момент в потоке нет управляемого кода, функция возвращает SOS_E_NOMANAGEDCODE.
Параметр
Flagsравен 0 или SOS_STACKTRACE_SHOWADDRESSES, чтобы увидеть EBP и ESP перед каждойmodule!functionnameстрокой. По умолчанию это значение равно 0.#define SOS_STACKTRACE_SHOWADDRESSES 0x00000001
Требования
Платформы: см. раздел Требования к системе.
Заголовок: SOS_Stacktrace.h
версии платформа .NET Framework: Доступно с версии 2.0