Compartir a través de


Cómo: Avanzar en Sólo mi código

Actualización: noviembre 2007

Este tema se aplica a:

Edición

Visual Basic

C#

C++

Web Developer

Express

Sólo administrado

Standard

Sólo administrado

Pro y Team

Sólo administrado

Leyenda de la tabla:

Se aplica

No procede

Comando o comandos ocultos de forma predeterminada.

Puede que, durante la depuración, desee examinar únicamente el código que ha escrito y pasar por alto otro código, como el correspondiente a las llamadas al sistema. Puede hacer esto mediante la depuración de Sólo mi código. Sólo mi código oculta el código de no usuario para que no aparezca en las ventanas del depurador. Mientras avanza, el depurador avanza paso a paso a través del código de no usuario, pero no se detiene en él.

Para distinguir entre el código de usuario ("Mi código") y el código de no usuario, Sólo mi código analiza tres cosas: Archivos DBG, los archivos PDB y la optimización.

En una versión de depuración estándar, se desactiva la optimización y se crean símbolos de depuración para todos los módulos. Cuando se ejecuta una versión de depuración, se considera que esos módulos pertenecen a Mi código. Si se llama a una función de biblioteca que se optimiza y no tiene símbolos de depuración, se considera que no es Mi código. Sólo mi código impide que la ejecución se detenga en los puntos de interrupción del código de biblioteca, que no suele ser código que esté interesado en depurar. En la ventana Puntos de interrupción, estos puntos de interrupción se mostrarán con el icono de punto de interrupción deshabilitado.

Para ver todo el código y detenerse en los puntos de interrupción, puede desactivar la depuración de Sólo mi código en el cuadro de diálogo Opciones.

Hay tres atributos que también afectan al código que el depurador considera como Mi código: DebuggerNonUserCodeAttribute indica al depurador que el código al que se aplica este atributo no es Mi código. DebuggerHiddenAttribute oculta el código al depurador, aunque esté desactivada la opción Sólo mi código. DebuggerStepThroughAttribute indica al depurador que vaya directamente al código al que se aplica este atributo, en lugar de avanzar paso a paso por el código.

Cuando se habilita la opción Sólo mi código, es posible elegir Interrumpir en el menú Depurar y detener la ejecución en una ubicación donde no haya ningún código de tipo Mi código que mostrar. Cuando esto ocurre, no se muestra ningún código. Además, si elige un comando Step, le conducirá a la siguiente línea de Mi código.

Las instrucciones de interrupción mediante programación, como las instrucciones Stop de Visual Basic, se controlan de manera diferente. El depurador siempre se interrumpe en estas instrucciones, aunque esté habilitada la opción Sólo mi código. En situaciones de este tipo, se muestra el código que no es del usuario en lugar de ocultarse, pero la ejecución paso a paso le conducirá fuera del código que no es del usuario hasta la siguiente línea de Mi código.

Nota:

Sólo mi código no se admite para los proyectos de dispositivos.

Para habilitar o deshabilitar la depuración de Sólo mi código

  1. En el menú Herramientas, elija Opciones.

  2. En el cuadro de diálogo Opciones, abra el nodo Depuración y, a continuación, elija General.

  3. Seleccione o borre Habilitar Sólo mi código.

Vea también

Conceptos

Control de ejecución

Referencia

DebuggerNonUserCodeAttribute

DebuggerHiddenAttribute

DebuggerStepThroughAttribute