Compartir a través de


Depuración de código de ensamblado en WinDbg (clásico)

En WinDbg, puede ver el código de ensamblado escribiendo comandos o mediante la ventana Desensamblado.

Ventana de comando del depurador

Para ver el código de ensamblado, escriba uno de los comandos u, ub, uu (Desensamblado) en la ventana Comando del depurador.

Ventana Desensamblado

Para abrir o cambiar a la ventana Desensamblado, elija Desensamblado en el menú Ver. (También puede pulsar ALT+7 o seleccionar el botón Desensamblar en la barra de herramientas. ALT+MAYÚS+7 cerrará la ventana Desensamblado).

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

Captura de pantalla de la ventana Desensamblado en WinDbg.

El depurador toma una sección de memoria, la interpreta como instrucciones de la máquina binaria y, a continuación, la desensambla para generar una versión de lenguaje de ensamblado de las instrucciones de la máquina. El código resultante se muestra en la ventana Desensamblado.

En la ventana Desensamblado, puede hacer lo siguiente:

  • Para desensamblar otra sección de memoria, en el cuadro Desplazamiento, escriba la dirección de la memoria que desea desensamblar. (Puede pulsar ENTRAR después de escribir la dirección, pero no tiene que hacerlo). La ventana Desensamblado muestra el código antes de completar la dirección; puede ignorar este código.

  • Para ver otras secciones de memoria, seleccione los botones Anterior o Siguiente , o pulse las teclas RE PÁG o AV PÁG. Estos comandos muestran código desensamblado de las secciones anteriores o siguientes de la memoria, respectivamente. Al presionar las teclas FLECHA DERECHA, FLECHA IZQUIERDA, FLECHA ARRIBA y FLECHA ABAJO, puede navegar dentro de la ventana. Si usa estas claves para salir de la página, aparecerá una página nueva.

La ventana Desensamblado tiene una barra de herramientas que contiene dos botones y un menú contextual con comandos adicionales. Para acceder al menú, seleccione y mantenga presionado (o haga clic con el botón derecho) en la barra de título o seleccione el icono que aparece cerca de la esquina superior derecha de la ventana. En la lista siguiente se describen algunos de los comandos de menú.

  • Ir a la dirección actual abre la ventana Origen con el archivo de origen que corresponde a la línea seleccionada en la ventana Desensamblado y resalta esta línea.

  • Desensamblado antes de la instrucción actual hace que la línea actual se coloque en medio de la ventana Desensamblado. Este comando es la opción predeterminada. Si se borra este comando, la línea actual aparecerá en la parte superior de la ventana Desensamblado, lo que ahorra tiempo porque el desensamblado en dirección inversa puede llevar mucho tiempo.

  • Resaltar las instrucciones de la línea de origen actual hace que se resalte todas las instrucciones que corresponden a la línea de origen actual. A menudo, una sola línea de origen corresponderá a varias instrucciones de ensamblado. Si el código se ha optimizado, es posible que estas instrucciones de ensamblado no sean consecutivas. Este comando le permite encontrar todas las instrucciones que se ensamblaron desde la línea de origen actual.

  • Mostrar línea de origen para cada instrucción muestra el número de línea de origen que corresponde a cada instrucción de ensamblado.

  • Mostrar archivo de origen para cada instrucción muestra el nombre del archivo de origen que corresponde a cada instrucción de ensamblado.

Consulte también

Para obtener más información acerca de la depuración de ensamblados y los comandos relacionados, así como una explicación completa de la visualización de ensamblajes, consulte Depuración en modo ensamblado.