gn, gN (Go with Exception Not Handled)

Die Befehle gn und gN setzen die Ausführung des angegebenen Threads fort, ohne die Ausnahme als behandelt zu markieren. Dadurch kann der Ausnahmehandler der Anwendung die Ausnahme behandeln.

User-Mode Syntax

[~Thread] gn[a] [= StartAddress] [BreakAddress ... [; BreakCommands]] 
[~Thread] gN[a] [= StartAddress] [BreakAddress ... [; BreakCommands]] 

Kernel-Mode Syntax

gn[a] [= StartAddress] [BreakAddress ... [; BreakCommands]] 
gN[a] [= StartAddress] [BreakAddress ... [; BreakCommands]] 

Parameter

Thread
(Nur Benutzermodus) Gibt den auszuführenden Thread an. Dieser Thread muss durch eine Ausnahme beendet worden sein. Syntaxdetails finden Sie unter Threadsyntax.

Eine
Bewirkt, dass jeder mit diesem Befehl erstellte Haltepunkt ein Prozessorhaltepunkt (wie der von ba erstellte) und nicht ein Softwarehaltepunkt ist (z. B. von bp und bm). Wenn BreakAddress nicht angegeben ist, wird kein Haltepunkt erstellt, und das Flag a hat keine Auswirkung.

StartAddress
Gibt die Adresse an, an der die Ausführung beginnen soll. Wenn dies nicht angegeben ist, übergibt der Debugger die Ausführung an die Adresse, an der die Ausnahme aufgetreten ist. Weitere Syntaxdetails finden Sie unter Adress- und Adressbereichssyntax.

BreakAddress
Gibt die Adresse für einen Haltepunkt an. Wenn BreakAddress angegeben ist, muss eine Anweisungsadresse angegeben werden (d. a. die Adresse muss das erste Byte einer Anweisung enthalten). Es können bis zu zehn Unterbrechungsadressen in beliebiger Reihenfolge gleichzeitig angegeben werden. Wenn BreakAddress nicht aufgelöst werden kann, wird sie als nicht aufgelöster Haltepunkt gespeichert. Weitere Syntaxdetails finden Sie unter Adress- und Adressbereichssyntax.

BreakCommands
Gibt einen oder mehrere Befehle an, die automatisch ausgeführt werden sollen, wenn der durch BreakAddress angegebene Haltepunkt erreicht wird. Dem BreakCommands-Parameter muss ein Semikolon vorangestellt sein. Wenn mehrere BreakAddress-Werte angegeben werden, gilt BreakCommands für alle.

Hinweis Der BreakCommands-Parameter ist nur verfügbar, wenn Sie diesen Befehl in eine Befehlszeichenfolge einbetten, die von einem anderen Befehl verwendet wird, z. B. innerhalb eines anderen Haltepunktbefehls oder innerhalb einer Außer- oder Ereigniseinstellung. In einer Befehlszeile beendet das Semikolon den Befehl, und alle zusätzlichen Befehle, die nach dem Semikolon aufgeführt sind, werden unmittelbar nach Abschluss des gn - oder gN-Befehls ausgeführt.

Environment

Element BESCHREIBUNG
Modi Benutzermodus, Kernelmodus
Targets Nur Livedebuggen
Plattformen alle

Zusätzliche Informationen

Weitere Methoden zum Ausgeben dieses Befehls und eine Übersicht über verwandte Befehle finden Sie unter Steuern des Ziels.

Hinweise

Wenn der Debugger nicht an einem Haltepunkt angehalten wird, verhalten sich gn und gN identisch. Wenn der Debugger an einem Haltepunkt beendet wird, funktioniert gn nicht. Sie müssen "N" groß schreiben, um diesen Befehl auszuführen. Dies ist eine Sicherheitsvorkehrung, da es selten sinnvoll ist, einen Haltepunkt unbehandelt fortzusetzen.

Wenn Sie den BreakAddress-Parameter verwenden, um einen Haltepunkt festzulegen, wird dieser neue Haltepunkt nur vom aktuellen Thread ausgelöst. Andere Threads, die den Code an diesem Speicherort ausführen, werden nicht beendet.

Wenn Thread angegeben ist, wird der gn-Befehl ausgeführt, wobei der angegebene Thread deaktiviert und alle anderen gesperrt werden. Wenn z. B. der Befehl ~123gn, ~#gn oder ~*gn angegeben ist, sind die angegebenen Threads nicht infrozen, und alle anderen werden eingefroren.