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 xbecomes 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?

War es hilfreich?

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)

! Einstellen einer Bedingung

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.

! Zustand Fenster

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.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top