2010-05-17 17 views
10

Aquí está el escenario: pongo un punto de ruptura al comienzo de un método que quiero depurar ... en primer lugar digamos que hay una Parte1 en este método que quiero pasar en/sobre algunos de los códigos ... bueno ... después de eso hay un bucle While que NO estoy interesado en entrar o salir, solo quiero decirle al depurador que Hey tú mismo ejecutas este ciclo por 10 veces y simplemente déjame pasar a la Parte 2 de mi código que comienza después de este ciclo While, ¿es posible hacer esto con las opciones de depuración?Saltando sobre un bucle While en el modo de depuración

así que algo como esto:

BreakPoint : MyMethod 
{ 
Part One of the code : Ok, lets debug it 

While Loop : I do not care, Do not want to debug it 

Part Two of the code: Yes, I want to debug it too 
} 

Respuesta

20

haga clic derecho en la línea de código que desea ejecutar a, y haga clic en "Ejecutar hasta el cursor", o puede establecer un segundo punto de interrupción después del bucle y justo correr.

Editar: Has hecho aquí dos preguntas. El método anterior le permitirá pasar por todo el ciclo, independientemente de la cantidad de iteraciones que atraviesa. Si solo desea pasar por el cuerpo del bucle 10 veces, agregue un punto de interrupción en la última instrucción del bucle, haga clic con el botón derecho en esa línea, haga clic en "Punto de interrupción", luego en "Conteo de golpes" y luego "corte cuando el conteo de golpes sea igual a "y pon 10 en la casilla que aparece. Esto pausará el programa después de que el bucle se ejecute 10 veces (tendrá que reposicionar manualmente la instrucción actual), pero NO se romperá si el bucle se ejecuta menos de 10 veces (agregue un punto de interrupción adicional después del bucle como sugerí más arriba).

+0

lo siento por la confusión, en 10 veces Sólo quería decir digamos el bucle se ejecuta 10 veces y no me quieren golpear el paso en/sobre, etc ... botón de al menos 10 veces para pasar este ciclo. – Bohn

+0

Acceso directo para "Ejecutar al cursor": Ctrl-F10. – AbleArcher

1

Simplemente ponga un punto de interrupción en la Parte Dos. Después de que termine de depurar la parte 1, presione ejecutar/f-5, y VS se ejecutará hasta el próximo punto de interrupción.

3

Puede colocar puntos de inflexión antes y después del lazo while.

En el punto anterior, presione F5 para "continuar" hasta el siguiente punto de interrupción.

1

Agregue un punto de ruptura después del ciclo y permita que continúe en ese punto de corte.

1

No no creo que puede hacer lo que usted está describiendo, sus únicas opciones son las descritas por los otros carteles, que estaría bien, aunque :(

3

No exactamente (como en, ejecutar un bucle de 10 veces), pero es posible que sea capaz de conseguir algo muy cerca de su comportamiento deseado mirar en estos vínculos de MSDN:.

http://msdn.microsoft.com/en-us/library/system.diagnostics.debuggerstepthroughattribute.aspx http://msdn.microsoft.com/en-us/library/system.diagnostics.debuggerstepperboundaryattribute.aspx http://msdn.microsoft.com/en-us/library/system.diagnostics.debuggerstepthroughattribute.aspx

H ope que ayuda!

+0

cosas buenas que saber, gracias Señor. – Bohn

1

C# Preprocessor Directives

BreakPoint : MyMethod 
{ 
Part One of the code : Ok, lets debug it 

#if !DEBUG 
While Loop : I do not care, Do not want to debug it 
#endif 

Part Two of the code: Yes, I want to debug it too 
} 
+3

Eso simplemente omite el código en el momento de la depuración, no creo que eso sea lo que quiere el OP. – Dykam

Cuestiones relacionadas