Ver el código de desensamblado en el depurador de Visual StudioView Disassembly Code in the Visual Studio Debugger

Esta característica solo está disponible si está habilitada la depuración de nivel de dirección la opciones cuadro de diálogo, depuración nodo.This feature is available only if address-level debugging is enabled the Options dialog box, Debugging node. No está disponible para la depuración de script ni de SQL.It is not available for Script or SQL debugging.

El desensamblado ventana muestra el código de ensamblado correspondiente a las instrucciones creadas por el compilador.The Disassembly window shows assembly code corresponding to the instructions created by the compiler. Si depura código administrado, estas instrucciones de ensamblado corresponden al código nativo creado por el compilador JIT, y no al lenguaje intermedio de Microsoft (MSIL) que genera el compilador de Visual Studio.If you are debugging managed code, these assembly instructions correspond to the native code created by the Just-in-Time (JIT) compiler, not the Microsoft intermediate language (MSIL) generated by the Visual Studio compiler.

Además de las instrucciones de ensamblado, el desensamblado ventana puede mostrar la siguiente información opcional:In addition to assembly instructions, the Disassembly window can show the following optional information:

  • Dirección de memoria donde se encuentra cada instrucción máquina.Memory address where each instruction is located. Para aplicaciones nativas, ésta es la dirección de memoria real.For native applications, this is the actual memory address. Para Visual Basic, C# o código administrado, es un desplazamiento desde el inicio de la función.For Visual Basic, C#, or managed code, it is an offset from the beginning of the function.

  • Código fuente del que se deriva el código ensamblado.Source code from which the assembly code derives.

  • Bytes de código: representaciones en bytes de las instrucciones máquina o MSIL reales.Code bytes—byte representations of the actual machine or MSIL instructions.

  • Nombres de símbolos para las direcciones de memoria.Symbol names for the memory addresses.

  • Número de líneas correspondiente al código fuente.Line numbers corresponding to the source code.

    Las instrucciones en lenguaje de ensamblado consta de mnemónicos, que son abreviaturas de nombres de instrucciones, y de símbolos que representan variables, registros y constantes.Assembly-language instructions consist of mnemonics, which are abbreviations for instruction names, and symbols that represent variables, registers, and constants. Cada instrucción de código máquina se representa con un mnemónico de lenguaje de ensamblado, normalmente seguido de una o más variables, registros o constantes.Each machine-language instruction is represented by one assembly-language mnemonic, usually followed by one or more variables, registers, or constants.

    Si no conoce el lenguaje de ensamblado pero desea aprovechar al máximo la ventana Desensamblado, hágase con un buen libro sobre programación en lenguaje de ensamblado.If you cannot read assembly language and want to take full advantage of the Disassembly window, consult a good book on assembly-language programming. La programación en este lenguaje queda fuera del alcance de esta breve introducción sobre la ventana Desensamblado.Assembly-language programming is beyond the scope of what we can address in this brief introduction to the Disassembly window.

    Debido a que el código de ensamblado se refiere continuamente a los registros del procesador (o, en el caso del código administrado, a los registros de Common Language Runtime), a menudo le resultará útil usar la ventana Desensamblado junto con la ventana Registros, que permite observar el contenido de los registros.Because assembly code relies heavily on processor registers or, in the case of managed code, common language runtime registers, you will often find it useful to use the Disassembly window in conjunction with the Registers window, which allows you to examine register contents.

    Probablemente, nunca sentirá el deseo de ver las instrucciones de código máquina con su formato puro, numérico, en lugar del lenguaje de ensamblado.You probably will never have the desire or need to view machine-code instructions in their raw, numeric form, rather than assembly language. Sin embargo, si así lo desea, puede usar la ventana Memoria con este fin, o elegir Bytes de código en el menú contextual de la ventana Desensamblado.However, if you want to do so, you can use the Memory window for that purpose or choose Code Bytes from the shortcut menu in the Disassembly window.

Nota

Los cuadros de diálogo y comandos de menú que se ven pueden diferir de los descritos en la Ayuda, en función de los valores de configuración o de edición activos.The dialog boxes and menu commands you see might differ from those described in Help depending on your active settings or edition. Para cambiar la configuración, elija la opción Importar y exportar configuraciones del menú Herramientas .To change your settings, choose Import and Export Settings on the Tools menu. Para más información, vea Personalizar el IDE de Visual Studio.For more information, see Personalize the Visual Studio IDE.

Para mostrar la ventana DesensambladoTo display the Disassembly window

  • Durante la depuración, seleccione Depurar > Windows y, a continuación, haga clic en desensamblado.While you are debugging, select Debug > Windows and then click Disassembly.

Para activar o desactivar la información opcionalTo turn optional information on or off

  • Haga clic en el desensamblado ventana y Active o desactive las opciones que desee en el menú contextual.Right-click the Disassembly window, and set or clear the desired options in the shortcut menu.

    Una flecha amarilla en el margen izquierdo indica la ubicación del punto de ejecución actual.A yellow arrow in the left margin marks the location of the current execution point. Para el código nativo, este punto se corresponde con el contador de programas de la CPU.For native code, this corresponds to the CPU's program counter. Esta ubicación indica la instrucción que debe ejecutarse a continuación en el programa.This location shows the next instruction that will be executed in your program.

    Para obtener más información, consulte retroceder o avanzar en la memoria.For more information, see Paging Up or Down in Memory.

Vea tambiénSee Also

Ver los datos en el depurador Viewing Data in the Debugger
Cómo: Usar la ventana RegistrosHow to: Use the Registers Window