visual studio saltar puedo propiedades print paso operadores immediate depurar debuggear debug como .net visual-studio debugging breakpoints conditional-breakpoint

studio - ¿Puedo establecer un punto de interrupción cuando la variable obtiene un valor específico en.NET?



no puedo depurar en visual studio 2015 (6)

Estoy usando Visual Studio 2010, y sé que esta característica está disponible en C ++.

Necesito depurar algún código, que cambia una variable a varios valores. Quiero depurar el código en un caso específico, cuando la variable obtiene un valor específico. Sé que puedo agregar if(var == value) , pero ¿hay alguna forma elegante de hacerlo?

Otra pregunta, ¿puedo establecer un punto de interrupción cuando se cambia una variable en general?


Agregue un punto de interrupción con F9 - haga clic con el botón derecho y seleccione "Condition..." - ahora puede agregar una condición booleana y el punto de interrupción solo será afectado si esa condición se evalúa como verdadera.


Depende del alcance de su punto de interrupción. Si la variable no es local o no estática, no podrá hacerlo.

Para establecer la condición de un punto de interrupción, haga clic con el botón derecho y debería obtener esta pantalla:

Elegir condición ...


Es ciertamente posible establecer una condición como una variable que recibe un cierto valor. Esto se conoce como una condición de punto de interrupción. Para crear uno, haz lo siguiente.

  • Establezca un punto de ruptura en el punto donde la variable cambia
  • Haga clic derecho en el punto de ruptura y seleccione "Condición"
  • Escriba el condicional como "theNewValue == 42"

Ahora el punto de interrupción solo se activará cuando tu condicional se evalúe como verdadero.

El segundo elemento que solicitó, que se rompe cuando cambia el valor de una variable por algún motivo, se conoce como punto de interrupción de datos. Estos solo están disponibles para el código C ++. No es una opción en C #, VB.NET o cualquier otro lenguaje administrado.


Puede usar puntos de interrupción condicionales. Sé que su pregunta fue específica para VS2010, pero tenga en cuenta que desde VS2012 en adelante, debe cambiar al Modo de compatibilidad administrada para usar puntos de interrupción condicionales en Visual Basic. Por qué y cómo se describe aquí:

switching-to-managed-compatibility-mode-in-visual-studio-2013


Puedes hacer ambas cosas.

  1. Establezca el punto de interrupción en VS. Haga clic derecho en el punto rojo en el margen y seleccione Agregar condición. Allí puedes decir var==value y seleccionar "Is True".
  2. Probablemente pueda lograr esto con la opción "Ha cambiado" en el cuadro de diálogo anterior.

Siempre que use una edición de Visual Studio que no sea Express, puede lograr esto en C # utilizando una condición de punto de interrupción .

En el cuadro de diálogo Condición de punto de interrupción , ingrese una expresión válida en el cuadro Condición, como myLocalVariable> 1

y

... elige Ha cambiado si quieres romper cuando el valor de la expresión ha cambiado.

Para acceder a la opción Ha cambiado , haga clic con el botón derecho en su punto de interrupción en la ventana Puntos de interrupción y seleccione Condición ... , luego marque la siguiente captura de pantalla.