Compartir a través de


Visualización de la pila de llamadas en WinDbg (clásico)

La pila de llamadas es la cadena de llamadas de función que han llevado a la ubicación actual del contador del programa. La función superior de la pila de llamadas es la función actual, la siguiente función es la función que llamó a la función actual, etc. La pila de llamadas que se muestra se basa en el contador de programa actual, a menos que cambie el contexto de registro. Para obtener más información sobre cómo cambiar el contexto de registro, vea Cambiar contextos.

En WinDbg, puede ver la pila de llamadas escribiendo comandos o mediante la ventana Llamadas.

Ventana de comandos del depurador

Para ver la pila de llamadas, escriba uno de los comandos k (Display Stack Backtrace) en la ventana Comando del depurador.

Ventana Llamadas

Como alternativa al comando k , puede ver la pila de llamadas en la ventana Llamadas. Para abrir la ventana Llamadas, elija Pila de llamadas en el menú Ver .

En la captura de pantalla siguiente se muestra un ejemplo de una ventana Llamadas.

Captura de pantalla de la ventana Llamadas en WinDbg.

Los botones de la ventana Llamadas permiten personalizar la vista de la pila de llamadas. Para pasar a la ubicación de llamada correspondiente en la ventana Origen o en la ventana Desensamblado, haga doble clic en una línea de la pila de llamadas o seleccione una línea y presione ENTRAR. Esta acción también cambia el contexto local al marco de pila seleccionado. Para obtener más información sobre cómo ejecutar hacia o desde este punto, vea Controlar el destino.

En el modo de usuario, el seguimiento de la pila se basa en la pila del subproceso actual. Para obtener más información sobre la pila del subproceso actual, consulte Control de procesos y subprocesos.

En el modo kernel, el seguimiento de la pila se basa en el contexto de registro actual. Puede establecer el contexto de registro para que coincida con un subproceso específico, un registro de contexto o un marco de captura. Para obtener más información sobre cómo establecer el contexto de registro, vea Registrar contexto.

La ventana Llamadas tiene una barra de herramientas que contiene varios botones y tiene un menú contextual con comandos adicionales. Para acceder a este menú, seleccione y mantenga presionado (o haga clic con el botón derecho) en la barra de título o seleccione el icono situado cerca de la esquina superior derecha de la ventana (Captura de pantalla del botón que muestra el menú contextual de la barra de herramientas Llamadas en WinDbg.

  • Los argumentos sin procesar muestran los tres primeros parámetros que se pasan a la función. En un procesador basado en x86, esta pantalla incluye los tres primeros parámetros que se pasan a la función ("Args to Child").

  • La información de Func muestra datos de omisión de puntero de marco (FPO) y otra información interna sobre la función. Este comando solo está disponible en un procesador basado en x86.

  • El origen muestra los nombres de módulo de origen y los números de línea después de los nombres de función (si el depurador tiene esta información).

  • Los agregadores muestran varias direcciones relacionadas con fotogramas. En un procesador basado en x86, esta pantalla incluye el puntero base para el marco de pila ("ChildEBP") y la dirección de retorno ("RetAddr").

  • Los números de fotograma muestran números de fotograma. Los fotogramas siempre se numeran consecutivamente, empezando por cero.

  • Los tipos Arg muestran información detallada sobre los argumentos esperados y recibidos por las funciones de la pila.

  • Siempre flotante hace que la ventana permanezca desacoplado incluso si se arrastra a una ubicación de acoplamiento.

  • Mover con marco hace que la ventana se mueva cuando se mueve el marco WinDbg, incluso si la ventana está desactivada.

Información adicional

Para obtener más información sobre el contexto de registro y el contexto local, vea Cambiar contextos.