Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Proporciona una representación de texto de un seguimiento de pila administrado y una matriz de registros CONTEXT, uno por cada transición entre código no administrado y código administrado.
Sintaxis
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
);
Parámetros
Client [in] El cliente que se está depurando.
wszTextOut [out] Representación de texto del seguimiento de la pila.
puiTextLength [out] Puntero al número de caracteres de wszTextOut.
pTransitionContexts [out] Matriz de contextos de transición.
puiTransitionContextCount [out] Puntero al número de contextos de transición de la matriz.
uiSizeOfContext [in] Tamaño de la estructura de contexto.
Flags [in] Establezca en 0 o SOS_STACKTRACE_SHOWADDRESSES (0x01) para mostrar el registro EBP y el puntero de pila de entrada (ESP) delante de cada module!functionname línea.
Comentarios
Se puede llamar a la estructura _EFN_StackTrace desde una interfaz de programación de WinDbg. Los parámetros se usan de la siguiente manera:
Si
wszTextOutes null ypuiTextLengthno es null, la función devuelve la longitud de cadena enpuiTextLength.Si
wszTextOutno es null, la función almacena texto enwszTextOuthasta la ubicación indicada porpuiTextLength. Devuelve correctamente si había suficiente espacio en el búfer o devuelve E_OUTOFMEMORY si el búfer no era lo suficientemente largo.La parte de transición de la función se omite si
pTransitionContextsypuiTransitionContextCountson null. En este caso, la función proporciona a los llamadores la salida de texto solo de los nombres de función.Si
pTransitionContextses null ypuiTransitionContextCountno es NULL, la función devuelve el número necesario de entradas de contexto enpuiTransitionContextCount.Si
pTransitionContextsno es null, la función la trata como una matriz de estructuras de longitudpuiTransitionContextCount. El tamaño de la estructura lo asignauiSizeOfContext, y debe ser el tamaño de SimpleContext oCONTEXTpara la arquitectura.wszTextOutse escribe en el siguiente formato:"<ModuleName>!<Function Name>[+<offset in hex>] ... (TRANSITION) ..."Si el desplazamiento en hexadecimal es 0x0, no se escribe ningún desplazamiento.
Si no hay código administrado en el subproceso actualmente en contexto, la función devuelve SOS_E_NOMANAGEDCODE.
El parámetro
Flagses 0 o SOS_STACKTRACE_SHOWADDRESSES para ver EBP y ESP delante de cada líneamodule!functionname. De manera predeterminada, es 0.#define SOS_STACKTRACE_SHOWADDRESSES 0x00000001
Requisitos
Plataformas: Vea Requisitos de sistema.
Encabezado: SOS_Stacktrace.h
Versiones de .NET Framework: disponible a partir de la versión 2.0