Share via


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

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

Ventana de comandos del depurador

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

Ventana desasemblado

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

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

Captura de pantalla de la ventana Desensamblado en WinDbg.

El depurador toma una sección de memoria, la interpreta como instrucciones de máquina binaria y, a continuación, la desensambla para generar una versión de lenguaje 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 presionar 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 presione las teclas PAGE UP o PAGE DOWN. Estos comandos muestran código desmontado 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 nueva página.

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 presionada (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 sobre la depuración de ensamblados y los comandos relacionados y una explicación completa de la presentación del ensamblado, vea Depuración en modo de ensamblado.