2009-08-31 18 views
21

¿Hay alguna manera de omitir el código sin tener que establecer un punto de interrupción después de él? Estoy usando la depuración para explorar el código con un evento de pintura GUI que se ejecuta muchas veces. Deseo ver qué ocurre después de que el evento se haya activado, sin tener que hacer clic en un montón de veces.Depuración de Visual Studio 2008 - Código de omisión

Respuesta

44
[DebuggerHidden] 

Cuando este atributo está unido a un constructor/método/propiedad o indexador luego de que el código está escondido desde el depurador, no será posible para que usted entre en el código, el depurador se acaba de saltar sobre el código. Incluso si establece un punto de interrupción dentro de uno de los códigos decorados con este atributo, el depurador lo ignorará.

[DebuggerStepThrough] 

Este atributo es la misma que la DebuggerHiddenAttribute, aparte del hecho de que se puede establecer un punto de interrupción en el código que ha sido decorado con el DebuggerStepThroughAttribute y el depurador se detendrá en el punto de interrupción.

[DebuggerNonUserCode] 

Esta marca atribuye una sección de código por no ser el código de usuario, a continuación, puede utilizar esto con el Herramientas-> Opciones-> Debugging-> General-> Habilitar Sólo mi código, la opción para contar el depurador no para entrar en el código decorado.

+0

¡Eso es útil! – ChadT

+0

+1 Tu depuración fu es mayor que la mía –

+0

No sabía nada de eso. Ballin. –

7

Puede especificar una condición de punto de interrupción (haga clic con el botón derecho en el ícono del círculo rojo del punto de interrupción) para que el punto de interrupción detenga la ejecución solo cuando sucede algo interesante.

+1

Esta es probablemente una respuesta más viable a esta pregunta simplemente porque se puede hacer sin decorar el código con atributos. Aún así, la sugerencia de Jaimal es bastante impresionante también. : D –

+0

Estoy de acuerdo, es por eso que voté la respuesta de Jaimal ... – castle1971

5

Aquí hay otro práctico: Si actualmente está detenido en un punto de quiebre, y solo desea ejecutarlo en algún otro punto del código, puede hacer clic derecho en la línea que desea ejecutar y seleccionar "Ejecutar al cursor".

4

Si desea ejecutar el código después del punto de interrupción, hasta otra línea, utilice la sugerencia "Ejecutar al cursor" de JMarsch.

Si desea Omitir las siguientes líneas y reanudar la ejecución en otro punto, puede usar el mouse para arrastrar la flecha amarilla en el margen izquierdo de la ventana de código, hasta la línea que desea ejecutar a continuación.

Esto también es útil si desea volver a ejecutar algún código que ya se ha ejecutado, simplemente arrastre la flecha amarilla ARRIBA a esa línea. A menudo uso esto para "entrar" al código que ya hice un "Paso" en.

"Establecer declaración siguiente" en el menú del botón derecho tiene el mismo efecto.

-Tom Bushell

+0

+1 para arrastrar la flecha a la ejecución SKIP. Pensé que funcionaba como 'Run to Cursor' si lo arrastras hacia adelante. –

Cuestiones relacionadas