Direttiva @debug
Aggiornamento: novembre 2007
Attiva o disattiva l'emissione di simboli di debug.
@set @debug(on | off)
Argomenti
on
Impostazione predefinita. Parola chiave per l'attivazione del debug.off
Facoltativo. Parola chiave per la disattivazione del debug.
Note
Talvolta il codice di programma scritto da un autore JScript differisce dal codice effettivamente compilato ed eseguito. Gli ambienti host, quali ASP.NET, o gli strumenti di sviluppo possono generare codice specifico e aggiungerlo al programma. Si tratta di codice che in genere non riveste alcuna importanza per l'autore durante la fase di debug. Pertanto, quando procedono al debug, gli autori hanno generalmente interesse a visualizzare solo le parti di programma che hanno effettivamente scritto, escludendo quelle generate dagli strumenti di sviluppo impiegati. Gli stessi autori di package possono decidere di disattivare il debug per motivi analoghi.
Il compilatore genera simboli di debug solo durante la compilazione dalla riga di comando con l'opzione /debug o durante la compilazione di una pagina ASP.NET con il flag di debug impostato nella direttiva @page. In tali circostanze, la direttiva debug è attiva per impostazione predefinita. Quando viene rilevata, la direttiva debug rimane attiva fino alla fine del file o finché non viene rilevata la successiva direttiva debug.
Quando la direttiva debug è disattiva, il compilatore non genera informazioni di debug per variabili locali, ovvero le variabili definite all'interno di funzioni o metodi. La direttiva debug non impedisce tuttavia l'emissione di informazioni di debug per variabili globali.
Esempio
Nel codice seguente vengono generati simboli di debug per la variabile locale debugOnVar, ma non per debugOffVar, durante la compilazione dalla riga di comando con l'opzione /debug:
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();