Série de conférences ASP (dix-sept) Débogage des scripts ASP
Auteur:Eve Cole
Date de mise à jour:2009-05-30 19:58:42
Quelle que soit la sophistication de votre planification et de votre expérience, les erreurs de script (bogues) peuvent empêcher vos scripts côté serveur ASP de s'exécuter correctement en premier lieu. Autrement dit, le débogage, c'est-à-dire la recherche et la correction des erreurs de script, est très important pour développer un programme ASP performant et robuste.
Outil de débogage de scripts Microsoft
Microsoft® Script Debugger est un puissant outil de débogage qui vous aide à trouver rapidement les erreurs et à tester de manière interactive les scripts côté serveur. Script Debugger fonctionne avec Windows Internet Explorer version 3.0 ou ultérieure. Avec lui, vous pouvez :
Exécutez le script côté serveur ligne par ligne.
Ouvrez une fenêtre de commande pour surveiller la valeur d'une variable, d'une propriété ou d'un élément de tableau pendant l'exécution du script côté serveur.
Définissez un indicateur de pause sur une ligne spécifique pour suspendre les scripts côté serveur (à l'aide d'outils de débogage ou de commandes de script).
Suivez le processus lors de l'exécution d'un script côté serveur.
Remarque Vous pouvez utiliser des outils de débogage pour afficher le script et rechercher les erreurs, mais vous ne pouvez pas modifier directement le script. Pour corriger les erreurs, vous devez modifier le script avec un éditeur, l'enregistrer, puis exécuter le script.
(Cette fonctionnalité n'est pas disponible sous Windows 95 ou version ultérieure.)
Activation du débogage Avant de commencer le débogage des scripts côté serveur, vous devez d'abord configurer votre serveur Web pour prendre en charge le débogage ASP.
Après avoir activé le débogage du serveur Web, vous pouvez utiliser l'une des méthodes suivantes pour déboguer vos scripts :
Ouvrez manuellement le débogueur de script Microsoft et déboguez le script côté serveur ASP.
Utilisez Internet Explorer pour demander le fichier .asp. Si le fichier contient des erreurs ou des instructions d'arrêt d'exécution ajoutées artificiellement, le débogueur de script Microsoft démarre automatiquement, affiche le script et indique la source de l'erreur.
Erreurs de script Lors du débogage de scripts côté serveur, vous pouvez rencontrer différents types d'erreurs. Certaines de ces erreurs empêchent le script de s'exécuter correctement, provoquant l'arrêt de l'exécution du programme ou renvoyant des résultats incorrects.
Erreurs de syntaxe Les erreurs de syntaxe sont des erreurs fréquemment rencontrées et provoquées par une syntaxe de script incorrecte. Par exemple, une commande mal orthographiée ou des paramètres incorrects passés à une fonction généreront une erreur. Des erreurs de syntaxe peuvent empêcher l'exécution de votre script.
Erreurs d'exécution Les erreurs d'exécution sont provoquées par des instructions de script qui tentent d'effectuer des actions impossibles lors de l'exécution du script. Par exemple, le script suivant contient une fonction qui divise par zéro (une opération mathématique illégale), qui générera une erreur d'exécution :
<langage de script = "VBScript" runat = serveur>
Résultat = Trouverréponse(15)
document.write ("La réponse est " &Résultat)
Fonction Trouverréponse(x)
'Cette instruction génère une erreur d'exécution.
Trouverréponse = x/0
Fonction de fin
</script>
Les erreurs qui provoquent des erreurs d'exécution doivent être corrigées afin que le script ne s'interrompe pas pendant son exécution.
Erreurs logiques Les erreurs logiques peuvent souvent être latentes et difficiles à détecter. S'il existe des erreurs logiques causées par des erreurs de frappe ou un flux logique de programme incorrect, le script peut s'exécuter correctement mais produire des résultats incorrects. Par exemple, un script côté serveur qui prévoit de trier une liste de valeurs renverra des résultats de tri incorrects si le symbole « < » est utilisé pour comparer les valeurs au lieu du symbole « > ».
Techniques de débogage des erreurs Un certain nombre de techniques de débogage différentes peuvent être utilisées pour trouver la source des erreurs et tester les applications.
Débogage juste à temps (JIT) Lorsqu'une erreur d'exécution interrompt l'exécution d'un script ASP, le débogueur de script Microsoft démarre automatiquement, affiche le fichier .asp, pointe le pointeur d'instruction vers la ligne qui a provoqué l'erreur et génère un message d'erreur. Ce type de débogage est appelé débogage juste à temps (JIT), où l'ordinateur suspend l'exécution du programme. Vous devez utiliser votre programme d'édition pour corriger ces erreurs, enregistrer vos corrections, puis réexécuter le script.
Débogage des points d'arrêt Lorsqu'une erreur se produit et qu'il est difficile de trouver la source de l'erreur, vous pouvez utiliser la méthode de débogage des points d'arrêt prédéfinis. Les points d'arrêt mettent le script en pause sur une ligne spécifique. Vous pouvez définir un ou plusieurs points d'arrêt différents aux points problématiques du script, puis utiliser le débogueur pour corriger les valeurs des variables ou des propriétés définies dans le script. Après avoir corrigé ces erreurs, vous pouvez effacer les points d'arrêt afin que votre script s'exécute sans interruption.
Veuillez utiliser Microsoft Script Debugger pour ouvrir le script et définir des points d'arrêt. Demandez ensuite ce script avec votre navigateur Web. Lorsqu'une ligne contenant un point d'arrêt dans le script est exécutée, l'ordinateur démarre le débogueur de script et le pointeur d'instruction pointe vers la ligne où le point d'arrêt est défini.
Débogueur d'instruction Stop VBScript Vous pouvez également ajouter des points d'arrêt aux scripts côté serveur écrits en VBScript en insérant une instruction Stop avant la partie problématique du script côté serveur. Par exemple, le script ASP suivant contient une instruction Stop pour suspendre l'exécution avant d'afficher les résultats :
<%
valeur du jour = 3
LeJour = WeekDayName (valeur du jour)
Arrêtez de définir le point d'arrêt ici.
Response.Write("Aujourd'hui, c'est " + TheDay)
%>
Lorsque vous demandez le script précédent utilisé par le navigateur Web, le débogueur démarre et affiche automatiquement le fichier .asp, et le pointeur d'instruction indique l'emplacement de l'instruction stop. N'oubliez jamais de supprimer l'instruction Stop du fichier .asp livré.
Débogage avec les instructions du débogueur JScript Pour ajouter des points d'arrêt aux scripts côté serveur écrits en Microsoft® JScript, insérez une instruction du débogueur avant la ligne en question. Par exemple, le script suivant contient une instruction de débogueur qui interrompt l'exécution et démarre automatiquement le débogueur Microsoft Script chaque fois que le script boucle sur une nouvelle valeur.
<%@Langage="JScript" %>
<%
pour (var count = 1; count <= 10; count++) {
var eventest = nombre%2 ;
débogueur //Définit le point d'arrêt
si (événement == 0) {
réponse.write("La valeur paire est " + nombre + "<br>")
}
}
%>
N'oubliez pas de supprimer les instructions du débogueur du fichier .asp fourni.
Remarque : Ne confondez pas les instructions du débogueur avec les instructions break JScript. Pendant l'exécution du programme, l'instruction break quitte uniquement la boucle en cours et n'active pas le débogueur Microsoft Script ni ne suspend l'exécution du programme.
Techniques de débogage de script En plus des débogueurs de script, un bon ensemble de techniques de débogage peut également réduire beaucoup de temps passé à analyser la source des erreurs de script. Bien que la plupart des erreurs soient causées par des causes évidentes, des commandes mal orthographiées ou des variables manquantes, certains types d'erreurs de logique et d'exécution peuvent également être provoqués par des causes moins évidentes.