c# - ver - que es un punto de interrupcion
Punto de interrupción condicional en Visual Studio (6)
Quiero establecer un punto de interrupción en una determinada línea en el código C # cuando alguna otra variable es igual a un valor específico, digamos:
MyStringVariable == "LKOH"
¿Cómo puedo hacer eso?
Intenté hacer clic con el botón derecho en el icono del punto de interrupción -> Condición y luego MyStringVariable == "LKOH"
y Visual Studio dijo que no podía evaluarlo.
Al igual que en el código, necesita utilizar:
MyStringVariable == "LKOH"
El doble-igual es la clave. Sin él, está diciendo que no se puede evaluar porque su expresión no se evalúa como un valor booleano.
Código de muestra:
static void Main(string[] args) {
string myvar;
for (int ix = 0; ix < 10; ++ix) {
if (ix == 5) myvar = "bar"; else myvar = "foo";
} // <=== Set breakpoint here
}
Condición: myvar == "bar"
Funciona bien.
Deberías poder hacer que esto funcione. ¿Está utilizando el nombre de instancia de Exchange en la condición? La condición debe ser algo como myExchange.Name == "LKOH"
no Exchange.Name == "LKOH"
.
Por cierto, usar el operador de asignación =
lugar del operador de igualdad ==
funcionará pero establecerá la propiedad y perderá 1/2 hora de su tiempo averiguando qué demonios está sucediendo. Cometí este error justo ayer.
En mi caso, olvidé que estaba depurando una aplicación de VB.
En VB, la igualdad es =
no ==
como muchos otros idiomas, por lo tanto mi punto de interrupción condicional debe ser myString = "someValue"
no myString == "someValue"
La variable que está probando debe estar dentro del alcance en el punto de interrupción.
var x = "xxx";
{
var y = "yyy";
}
brak(); // x is in scope, y isn''t
if (MyStringVariable == "LKOH") Debugger.Break();
necesitarás el espacio de nombres System.Diagnostics
http://msdn.microsoft.com/en-us/library/system.diagnostics.debugger.break.aspx