@debug-Direktive
Aktualisiert: November 2007
Aktiviert oder deaktiviert die Ausgabe von Debugsymbolen.
@set @debug(on | off)
Argumente
on
Standard. Schlüsselwort, das das Debuggen aktiviert.off
Optional. Schlüsselwort, das das Debuggen deaktiviert.
Hinweise
Von einem Jscript-Autor geschriebener Programmcode unterscheidet sich manchmal vom tatsächlich kompilierten und ausgeführten Code. Hostumgebungen, z. B. ASP.NET, oder Entwicklungstools können eigenen Code generieren und dem Programm hinzufügen. Dieser Code ist für den Autor während des Debuggens i. A. nicht von Bedeutung. Das heißt, beim Debuggen von Code möchte der Autor i. d. R. nur die von ihm selbst verfassten Abschnitte des Programms und nicht die von den Entwicklungstools generierten Abschnitte angezeigt bekommen. Aus demselben Grund kann es auch für Autoren von Paketen wünschenswert sein, das Debuggen zu deaktivieren.
Der Compiler gibt Debugsymbole nur beim Kompilieren von der Befehlszeile mit der Option /debug bzw. beim Kompilieren einer ASP.NET-Seite aus, wenn das Debugflag in der @page-Direktive festgelegt wurde. In diesen Fällen ist die debug-Direktive standardmäßig aktiviert. Wenn die debug-Direktive angezeigt wird, bleibt sie so lange wirksam, bis das Dateiende erreicht ist bzw. bis die nächste debug-Direktive gefunden wird.
Wenn die debug-Direktive deaktiviert ist, gibt der Compiler keine Debuginformationen für lokale Variablen aus (Variablen, die in Funktionen oder Methoden definiert sind). Die debug-Direktive verhindert jedoch nicht die Ausgabe der Debuginformationen für globale Variablen.
Beispiel
Der folgende Code gibt beim Kompilieren von der Befehlszeile mit der Option /debug Debugsymbole für die lokale Variable debugOnVar aus, aber nicht für debugOffVar:
function debugDemo() {
// Turn debugging information off for debugOffVar.
@set @debug(off)
var debugOffVar = 42;
// Turn debugging information on.
@set @debug(on)
// debugOnVar has debugging information.
var debugOnVar = 10;
// Launch the debugger.
debugger;
}
// Call the demo.
debugDemo();