gc (Vom bedingten Haltepunkt wechseln)
Der gc-Befehl setzt die Ausführung von einem bedingten Haltepunkt auf die gleiche Weise fort, wie sie zum Erreichen des Haltepunkts verwendet wurde (Schrittschritt, Ablaufverfolgung oder freie Ausführung). Dies gilt nur für den älteren Stil bedingter Haltepunkte mit einem "j (Bedingung) ..." Stilausdruck anstelle des einfacheren bedingten Haltepunkts "/w". Weitere Informationen finden Sie unter Festlegen eines bedingten Haltepunkts.
gc
Obwohl dieser Befehl für bedingte Haltepunkte nicht mehr so nützlich ist, kann er dennoch für Haltepunkte verwendet werden, die die Protokollierung oder eine andere Aktivität ausführen, ohne in den Debugger einzubrechen. Für instance könnte ein Haltepunkt wie folgt geschrieben werden:
bp module!myFunction ".echo myFunction executed; gc"
Wenn stattdessen ein normaler "g"-Befehl verwendet würde, würde das Programm die Ausführung fortsetzen, wenn "myFunction" überschritt, anstatt einfach die Nachricht zu drucken und den Schrittvorgang fortzusetzen.
Environment
Element | BESCHREIBUNG |
---|---|
Modi | Benutzermodus, Kernelmodus |
Targets | Nur Livedebuggen |
Plattformen | alle |
Zusätzliche Informationen
Eine Übersicht über verwandte Befehle finden Sie unter Steuern des Ziels.
Hinweise
Bei einem bedingten Haltepunkt mit einem "j (Bedingung) ..." Expression enthält einen Ausführungsbefehl am Ende. Dies sollte der gc-Befehl sein.
Das folgende Beispiel ist ein bedingter Breakpoint:
0:000> bp Address "j (Condition) 'OptionalCommands'; 'gc' "
Wenn dieser Haltepunkt gefunden wird und der Ausdruck false ist, wird die Ausführung mit demselben Ausführungstyp fortgesetzt, der zuvor verwendet wurde. Wenn Sie beispielsweise einen g -Befehl (Go) verwendet haben, um diesen Haltepunkt zu erreichen, würde die Ausführung frei fortgesetzt. Wenn Sie diesen Haltepunkt jedoch beim Schrittweisen oder Ablaufen erreicht haben, würde die Ausführung mit einem Schritt oder einer Ablaufverfolgung fortgesetzt.
Auf der anderen Seite ist folgendes eine falsche Breakpointformulierung, da die Ausführung immer frei fortgesetzt wird, auch wenn Sie vor erreichen des Haltepunkts schrittten:
0:000> bp Address "j (Condition) 'OptionalCommands'; 'g' "