Compartir a través de


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

Este tema se aplica a:

Edición

Visual Basic

C#

F#

C++

Web Developer

Express

El tema es aplicable El tema es aplicable

El tema es aplicable

Sólo administrado

El tema es aplicable

Pro, Premium y Ultimate

El tema es aplicable El tema es aplicable

El tema es aplicable

Sólo administrado

El tema es aplicable

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 y el código de no usuario, Solo 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 compilación de depuración, se considera que esos módulos pertenecen al código de usuario. 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 código de usuario. Solo 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 Solo mi código en el cuadro de diálogo Opciones.

Hay tres atributos que también afectan a lo que el depurador considera ser Mi código: DebuggerNonUserCodeAttribute indica al depurador que el código al que se aplica no es Mi código. DebuggerHiddenAttribute oculta el código para el depurador, incluso si Solo mi código está desactivado. DebuggerStepThroughAttribute indica al depurador que recorra el código al que se aplica en lugar de ejecutarlo paso a paso por instrucciones.

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

Referencia

DebuggerNonUserCodeAttribute

DebuggerHiddenAttribute

DebuggerStepThroughAttribute

Conceptos

Control de ejecución