ASP-Vortragsreihe (Siebzehn) Debuggen von ASP-Skripten
Autor:Eve Cole
Aktualisierungszeit:2009-05-30 19:58:42
Unabhängig davon, wie ausgefeilt Ihre Planung und Erfahrung ist, können Skriptfehler (Bugs) dazu führen, dass Ihre serverseitigen ASP-Skripts überhaupt nicht ordnungsgemäß ausgeführt werden. Das heißt, das Debuggen, also das Finden und Korrigieren von Skriptfehlern, ist für die Entwicklung eines erfolgreichen und robusten ASP-Programms sehr wichtig.
Microsoft Script-Debugging-Tool
Microsoft® Script Debugger ist ein leistungsstarkes Debugging-Tool, mit dem Sie Fehler schnell finden und serverseitige Skripts interaktiv testen können. Script Debugger funktioniert mit Windows Internet Explorer Version 3.0 oder höher. Damit können Sie:
Führen Sie das serverseitige Skript Zeile für Zeile aus.
Öffnen Sie ein Befehlsfenster, um den Wert einer Variablen, Eigenschaft oder eines Array-Elements zu überwachen, während das serverseitige Skript ausgeführt wird.
Setzen Sie ein Pause-Flag in einer bestimmten Zeile, um serverseitige Skripts anzuhalten (mithilfe von Debugging-Tools oder Skriptbefehlen).
Verfolgen Sie den Prozess, während Sie ein serverseitiges Skript ausführen.
Hinweis Sie können Debugging-Tools verwenden, um das Skript anzuzeigen und Fehler zu finden, aber Sie können das Skript nicht direkt bearbeiten. Um Fehler zu korrigieren, müssen Sie das Skript mit einem Editor bearbeiten, speichern und dann das Skript ausführen.
(Diese Funktion ist unter Windows 95 oder höher nicht verfügbar.)
Aktivieren des Debuggens Bevor Sie mit dem Debuggen serverseitiger Skripts beginnen, müssen Sie zunächst Ihren Webserver für die Unterstützung des ASP-Debuggens konfigurieren.
Nachdem Sie das Webserver-Debugging aktiviert haben, können Sie eine der folgenden Methoden zum Debuggen Ihrer Skripts verwenden:
Öffnen Sie den Microsoft Script Debugger manuell und debuggen Sie das serverseitige ASP-Skript.
Verwenden Sie Internet Explorer, um die ASP-Datei anzufordern. Wenn die Datei Fehler oder künstlich hinzugefügte Anweisungen zum Stoppen der Ausführung enthält, startet der Microsoft Script Debugger automatisch, zeigt das Skript an und gibt die Fehlerquelle an.
Skriptfehler Beim Debuggen serverseitiger Skripts können verschiedene Arten von Fehlern auftreten. Einige dieser Fehler verhindern die korrekte Ausführung des Skripts, führen dazu, dass das Programm nicht mehr ausgeführt wird oder falsche Ergebnisse zurückgibt.
Syntaxfehler Syntaxfehler sind häufig auftretende Fehler, die durch eine falsche Skriptsyntax verursacht werden. Beispielsweise führt ein falsch geschriebener Befehl oder die Übergabe falscher Parameter an eine Funktion zu einem Fehler. Syntaxfehler können die Ausführung Ihres Skripts verhindern.
Laufzeitfehler Laufzeitfehler werden dadurch verursacht, dass Skriptanweisungen versuchen, während der Skriptausführung unmögliche Aktionen auszuführen. Das folgende Skript enthält beispielsweise eine Funktion, die durch Null dividiert (eine unzulässige mathematische Operation), die einen Laufzeitfehler generiert:
<script language = "VBScript" runat = server>
Ergebnis = Findanswer(15)
document.write ("Die Antwort ist " &Result)
Funktion Findanswer(x)
'Diese Anweisung erzeugt einen Laufzeitfehler.
Findanswer = x/0
Funktion beenden
</script>
Fehler, die Laufzeitfehler verursachen, müssen behoben werden, damit das Skript während der Ausführung nicht unterbrochen wird.
Logikfehler Logikfehler können oft latent und schwer zu erkennen sein. Wenn Logikfehler auftreten, die durch Tippfehler oder einen falschen Programmlogikablauf verursacht werden, wird das Skript möglicherweise erfolgreich ausgeführt, liefert jedoch falsche Ergebnisse. Beispielsweise gibt ein serverseitiges Skript, das die Sortierung einer Werteliste plant, falsche Sortierergebnisse zurück, wenn zum Vergleichen von Werten das Symbol „<“ anstelle des Symbols „>“ verwendet wird.
Fehler-Debugging-Techniken Eine Reihe verschiedener Debugging-Techniken können verwendet werden, um die Fehlerquelle zu finden und Anwendungen zu testen.
Just-In-Time-Debugging (JIT) Wenn ein Laufzeitfehler die Ausführung eines ASP-Skripts unterbricht, startet der Microsoft Script Debugger automatisch, zeigt die ASP-Datei an, zeigt mit dem Anweisungszeiger auf die Zeile, die den Fehler verursacht hat, und generiert eine Fehlermeldung. Diese Art des Debuggens wird als Just-in-Time-Debugging (JIT) bezeichnet, bei dem der Computer die Ausführung des Programms anhält. Sie müssen Ihr Bearbeitungsprogramm verwenden, um diese Fehler zu korrigieren, Ihre Korrekturen zu speichern und dann das Skript erneut auszuführen.
Debuggen von Haltepunkten Wenn ein Fehler auftritt und es schwierig ist, die Fehlerquelle zu finden, können Sie die Debugging-Methode voreingestellter Haltepunkte verwenden. Haltepunkte halten das Skript an einer bestimmten Zeile an. Sie können an den problematischen Stellen im Skript einen oder mehrere verschiedene Haltepunkte setzen und dann den Debugger verwenden, um die im Skript festgelegten Werte von Variablen oder Eigenschaften zu korrigieren. Nachdem Sie diese Fehler behoben haben, können Sie die Haltepunkte löschen, damit Ihr Skript ohne Unterbrechung ausgeführt wird.
Bitte verwenden Sie den Microsoft Script Debugger, um das Skript zu öffnen und Haltepunkte festzulegen. Dann fordern Sie dieses Skript mit Ihrem Webbrowser an. Wenn eine Zeile im Skript ausgeführt wird, die einen Haltepunkt enthält, startet der Computer den Skript-Debugger und der Anweisungszeiger zeigt auf die Zeile, in der der Haltepunkt gesetzt ist.
VBScript-Stop-Anweisungs-Debugger Sie können auch Haltepunkte zu in VBScript geschriebenen serverseitigen Skripten hinzufügen, indem Sie vor dem problematischen Teil des serverseitigen Skripts eine Stop-Anweisung einfügen. Das folgende ASP-Skript enthält beispielsweise eine Stop-Anweisung, um die Ausführung anzuhalten, bevor Ergebnisse angezeigt werden:
<%
Tageswert = 3
TheDay = WeekDayName(Tageswert)
Stoppen Sie hier, den Haltepunkt zu setzen.
Response.Write("Heute ist " + TheDay)
%>
Wenn Sie das zuvor vom Webbrowser verwendete Skript anfordern, startet der Debugger und zeigt automatisch die ASP-Datei an, und der Anweisungszeiger gibt den Speicherort der Stop-Anweisung an. Denken Sie immer daran, die Stop-Anweisung aus der bereitgestellten ASP-Datei zu entfernen.
Debuggen mit JScript-Debugger-Anweisungen Um Haltepunkte zu in Microsoft® JScript geschriebenen serverseitigen Skripts hinzuzufügen, fügen Sie vor der betreffenden Zeile eine Debugger-Anweisung ein. Das folgende Skript enthält beispielsweise eine Debugger-Anweisung, die die Ausführung unterbricht und den Microsoft Script Debugger jedes Mal automatisch startet, wenn das Skript eine Schleife zu einem neuen Wert durchläuft.
<%@ Language="JScript" %>
<%
for (var count = 1; count <= 10; count++) {
var eventest = count%2;
debugger //Setzt Haltepunkt
if (eventtest == 0) {
Response.write("Gerader Wert ist " + count + "<br>")
}
}
%>
Denken Sie daran, die Debugger-Anweisungen aus der bereitgestellten ASP-Datei zu entfernen.
Hinweis: Verwechseln Sie Debugger-Anweisungen nicht mit JScript-Break-Anweisungen. Während der Programmausführung verlässt die Break-Anweisung nur die aktuelle Schleife und aktiviert weder den Microsoft Script Debugger noch unterbricht sie die Programmausführung.
Skript-Debugging-Techniken Zusätzlich zu Skript-Debuggern können gute Debugging-Techniken auch den Zeitaufwand für die Analyse der Quelle von Skriptfehlern erheblich reduzieren. Während die meisten Fehler durch offensichtliche Ursachen, falsch geschriebene Befehle oder fehlende Variablen verursacht werden, können einige Arten von Logik- und Ausführungsfehlern auch durch weniger offensichtliche Ursachen verursacht werden.