Bedingte Debug auf Visual C ++ 2008 Express
Frage
Gibt es eine Möglichkeit, um Debug-Code auf Visual C ++ 2008 Express, wie ich eine Variable für bestimmten Wert beobachten kann (s), und wenn er diesen Wert annimmt, brechen?
Zum Beispiel möchte ich brechen, wenn x
becomes 5
. In gdb würde ich einen Haltepunkt setzt dann eine Bedingung, dass x == 5
. Wie kann ich es (wenn möglich) auf Visual C ++ 2008 Express?
Lösung
gebaut Obwohl die Unterstützung für sie in den ausdrücklichen Ausgaben fehlen, gibt es eine andere Art und Weise um ihn herum.
Ich fand dies auf eine andere Antwort für eine ähnliche Frage.
#if DEBUG
if( node.Name == "Book" )
System.Diagnostics.Debugger.Break();
#endif
Das Beispiel zeigt, dass, wenn die Eigenschaft Name matches "Book", ein Haltepunkt auftritt.
Hier ist die ursprüngliche Frage:
How Do I: Erstellen Sie einen Haltepunkt unter Verwendung von Bedingungen ? [C # Express]
Andere Tipps
Dies ist in den Express-Versionen von Visual Studio nicht möglich. Aber es ist möglich, in der Vollversion.
Es scheint, es ist möglich, dies auch in Express zu tun, zumindest hier es hat funktioniert. Nach dem Haltepunkt Markierung I auf ihren Spuren rechts geklickt hat, und legen Sie ein „Bedingung“ (es ist nicht als einfacher sein könnte)
Dann können Sie einen Ausdruck schreiben, die den Wert true ergibt. Mein Kollege, der mir gerade dies zeigte, sagte sie haben einige Probleme mit dieser Zeichenketten zu vergleichen, aber es ist recht ordentlich für einfache Vergleiche mit ints.
Allerdings, sagte, wie in der anderen Antwort, das ist nicht so schnell wie der Pause-Code direkt eingeben.
Glück! Visual Studio 2010 Express von C / C ++ tut es unterstützen. Siehe Gewusst wie: Angeben ein Breakpoint- Zustand .
Ich habe es versucht.