@debug, directive
Mise à jour : novembre 2007
Active ou désactive l'émission de symboles de débogage.
@set @debug(on | off)
Arguments
on
Par défaut. Mot clé qui active le débogage.off
Facultatif. Mot clé qui désactive le débogage.
Notes
Le code de programme écrit par un auteur JScript diffère parfois du code qui est effectivement compilé et exécuté. Des environnements hôtes, comme ASP.NET, ou des outils de développement peuvent générer leur propre code et l'ajouter au programme. En général, ce code ne présente aucun intérêt pour l'auteur pendant le débogage. Par conséquent, lors du débogage de leur code, les auteurs veulent généralement ne voir que les parties du programme qu'ils ont écrites et non celles qui sont générées par leurs outils de développement. Les auteurs de package peuvent choisir de désactiver le débogage pour des raisons similaires.
Le compilateur émet des symboles de débogage uniquement lors d'une compilation à partir de la ligne de commande à l'aide de l'option /debug ou de la compilation d'une page ASP.NET avec l'indicateur de débogage défini dans la directive @page. Dans ces circonstances, la directive debug est activée par défaut. Lorsque la directive debug apparaît, elle reste active jusqu'à la fin du fichier ou jusqu'à la directive debug suivante.
Lorsque la directive debug est désactivée, le compilateur n'émet pas d'informations de débogage pour les variables locales (variables définies dans des fonctions ou des méthodes). Toutefois, la directive debug n'empêche pas l'émission des informations de débogage pour les variables globales.
Exemple
Le code ci-dessous émet des symboles de débogage pour la variable locale debugOnVar, mais pas pour debugOffVar, s'il est compilé à partir de la ligne de commande à l'aide de l'option /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();