Pregunta

He estado viendo esto en mi Visual C # 2008 RSS Feed desde siempre:

http://lincolnfair.net/oldLincolnFair/mad.jpg

Estoy bastante seguro de que esta es una característica exclusiva de VS 2010, pero me preguntaba si hay alguna forma de replicar esto en VS 2008.

¿Fue útil?

Solución

Similar a @Relster, tengo un fragmento de código con lo siguiente

#if DEBUG
    if( node.Name == "Book" )
        System.Diagnostics.Debugger.Break();
#endif

Donde node.Name == " Libro " cambia en función de la condición que quiero probar. el contenedor #if DEBUG asegura que las comprobaciones nunca lleguen a liberar código.

Esto también es mucho más rápido que usar los puntos de interrupción condicionales en Visual Studio. Cuando utiliza el estudio visual condicional bp incorporado, tiene que entrar en la aplicación, pausar todos los hilos, evaluar la expresión y determinar si es cierto cada vez que llega al punto de interrupción. En un ciclo cerrado, esta puede ser la diferencia entre el rendimiento de ejecución casi total y la ejecución en un rastreo.

Otros consejos

También puedes hacerlo en VS 2008. Estoy seguro de que hay muchas formas de hacerlo, pero una es hacer clic derecho en el punto rojo en el margen de un punto de interrupción existente & amp; seleccione condition ... , luego solo dele una condición que se evalúe como bool y solo se romperá si eso es cierto. La declaración condicional debe tener acceso a todo lo que esté dentro del alcance en la línea donde se establece el punto de interrupción.

También hay otras opciones en ese menú contextual que le permiten filtrar lo que causará una interrupción (por ejemplo, solo ciertos subprocesos), interrupción basada en la cantidad de veces que se ha alcanzado el punto de interrupción, ejecutar macros cuando llegue al punto de interrupción, etc.

La otra forma de hacerlo es hacer sus propias condiciones y usar una llamada para:

System.Diagnostics.Debugger.Break(); 

Si bien puede no ser tan sofisticado como la forma VS2010 de establecer puntos de interrupción, puede obtener el mismo efecto con una mínima sobrecarga de código. Solo recuerde sacar esas cosas cuando construya el código de lanzamiento.

Nota: en VS2008 y VS2005, puede establecer un punto de interrupción condicional estableciendo un punto de interrupción regular (F9 o doble clic en la canaleta), y luego haciendo clic derecho en ese punto de interrupción para establecer la " condición ... " ;. La capacidad de establecer puntos de interrupción condicionales NO está disponible en VS2008 Express Edition.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top