Glengamoi (Forum) · AspHeute · .NET Heute (RSS-Suche) · AspxFiles (Wiki) · .NET Blogs
ASP German Homepage Homepage
 

Liste

.NET 2.0 (1)
.NET Allgemein (16)
.NET Fu (5)
ADO.NET (11)
Aprilscherz (3)
ASP Grundlagen (44)
ASP Tricks (83)
ASP.NET (44)
ASPIntranet.de (5)
C# (28)
Datenbank (44)
Dokumentation (4)
IIS 6.0 (1)
Komponenten (29)
Optimierung (10)
Server (21)
Sicherheit (34)
Tee Off (6)
VB.NET (6)
WAP (8)
Web Services (11)
XML (9)

RSS 2.0 - Die neuesten fünf Artikel auf AspHeute.com


 

Suchen





 

English Articles
Chinese Articles
Unsere Autoren
 
Link zu AspHeute
Impressum
Werben
Anfragen

Debuggen von ASP Skripts - Teil 1

Geschrieben von: Stefan Gründhammer
Kategorie: ASP Grundlagen

Es wird Ihnen schon aufgefallen sein, daß in Ihren ASP-Scripts kleinere oder größere Fehler auftauchen, nach denen Sie oft lange suchen müssen. Auch wenn Ihre Scripts schon einmal dem Anschein nach fehlerfrei gelaufen sind, ist es die Pflicht eines jeden verantwortungsvollen Programmieres, jede Zeile seines Codes auf Fehler zu prüfen.

Damit Sie Fehler schneller aufspüren können, möchte ich Ihnen in diesem Artikel die Verwendung des Microsoft Script Debuggers vorstellen und Ihnen einige kleine Tips und Tricks für dessen Anwendung geben.

Folgende Themen werde ich in diesem Artikel behandeln:

  • Vorbereitungen fürs Debuggen
  • Fehlerarten
  • Techniken zum Debuggen
  • Einfache Tips und Tricks
  • Verwenden des Microsoft Script Debuggers

Vorbereitungen fürs Debuggen

Internet Explorer Einstellungen

Sie müssen im Internet Explorer einige Einstellungen vornehmen, damit Ihnen der Browser sagen kann in welcher Zeile Ihres ASP-Scripts sich ein Fehler befindet. Öffnen Sie dazu den Microsoft Internet Explorer, wählen Sie im Menü den Punkt Extras, Internetoptionen und selektieren Sie die Karteikarte Erweitert (Advanced). Unter dem Hauptpunkt Browsing befindet sich der Punkt Disable script debugging. Stellen Sie sicher, daß dieser Punkt nicht aktiviert ist. Darunter deaktivieren Sie Show friendly HTTP error messages und bestätigen Ihre Auswahl mit OK.

Server-Side Script Debugging ermöglichen

Bevor Sie Ihre ASP Scripts debuggen können, müssen Sie für den IIS das Debuggen von serverseitigen Scripts erlauben. Ich gehe bei meiner Beschreibung davon aus, daß Sie mit Windows 2000 Server arbeiten. Um das Debuggen zu erlauben, machen Sie folgende Einstellungen:

  1. Öffnen Sie den Internet Services Manager: Start, Programs, Administrative Tools, Internet Services Manager.
  2. Expandieren Sie den Webserver, auf dem die Website liegt, die Sie debuggen möchten.
  3. Klicken Sie mit der rechten Maustaste auf die zu debuggende Site um das Kontextmenü zu öffnen.

  4. Wählen Sie Properties (Eigenschaften) und das zugehörige Fenster öffnet sich.
  5. Wechseln Sie auf die Karteikarte Home Directory und klicken Sie auf Configuration.

  6. Es öffnet sich die Application Configuration Dialogbox, in der Sie die App Debugging Karteikarte wählen.
  7. Selektieren Sie Enable ASP server-side script debugging (wenn Sie auf der gleichen Maschine arbeiten), und Enable ASP client-side script debugging (wenn der Server und Ihre Maschine 2 verschiedene Rechner sind; allerdings benötigen Sie dann Visual InterDev 6 zum Debuggen).

  8. Speichern Sie diese Einstellung durch das Drücken des OK Buttons.

Fehlerarten

Hier sind einige der häufigsten Fehlerarten, die Ihnen begegnen können, angeführt:

  • Syntax Errors
    Der Syntax Error ist einer der am weitesten verbreiteten Fehlertypen und entsteht vor allem durch falsche Schreibweise von Befehlen, durch Fehler beim Zuweisen von Werten zu Variablen und durch das Vergessen einen Mehr-Zeilen-Befehl zu schließen (z.B. For ... Next Schleifen). Ein Syntax Error verhindert das Ausführen Ihres Programmes, stattdessen erscheint eine Fehlermeldung sobald der Browser oder der Server die Datei ausführt.
  • Logical Errors
    Der Logical Error ist ein schwer auffindbarer Fehler. Die Syntax des Scripts ist zwar in Ordnung das Script läuft erfolgreich ab aber es liefert falsche Werte zurück oder tut etwas anderes als erwünscht. Nun beginnt die Suche. Meistens wird dieser Error durch Fehler in Formeln wie durch Vertauschen von Variablen und deren Werten ausgelöst und ist oftmals schwer zu finden.
    Wenn Sie z.B ein < (kleiner)-Zeichen mit einem > (größer)-Zeichen verwechseln, so ist das Ergebnis ganz anderes als beabsichtigt.
  • Run-Time Errors
    Run-Time-Errors sind, wie der Name schon sagt, Fehler die während der Ausführung eines Scripts oder Programms auftreten. Dieser Fehler ensteht wenn eine unerlaubte Operation ausgeführt wird. Ein Beispiel: Sie wollen eine Kalkulation durchführen die 2 Funktionen enthält - eine der beiden Funktionen existiert nicht und so erhalten Sie einen Run-Time-Error. Wenn dieser Fehler auftritt wird das Script sofort gestoppt und eine sogenannte Exception Routine wird gestartet. Diese entscheidet über das Verhalten des Skripts im Falle eines Fehlers.

Techniken zum Debuggen

Es gibt verschieden Techniken zum Aufspüren und Ausbessern von Bugs (Fehlern). Hier sind einige angeführt:

  • Breakpoint Debugging
  • JIT (Just in Time) Debugging
  • Das VBScript "Stop" Statement Debugging
  • Debugging mit dem JScript "debugger" Statement

Breakpoint Debugging

Wenn ein Fehler in Ihrem Code auftaucht und Sie nicht genau wissen was den Fehler verursacht, dann setzen Sie einen Breakpoint vor der Stelle, an der Sie den Fehler vermuten. Es ist natürlich auch möglich mehrere Breakpoints vor der Position des vermuteten Fehlers zu setzen. Mit Hilfe des Debuggers können Sie dann die Werte von Variablen oder Eigenschaften abfragen und auf Richtigkeit prüfen. So können Sie mitverfolgen, welche Zeile einen falschen Wert produziert oder ein falsches Ergebnis zurückliefert. Nachdem der Fehler ausgebessert wurde, kann man die Breakpoints wieder löschen.

Wie setzt man einen Breakpoint in einer ASP Seite? Eigentlich ganz einfach: Rufen Sie zuerst einmal die ASP Seite im Browser auf. Öffnen Sie den Microsoft Script Debugger, wählen Sie aus dem Menü View, Running Documents und das Running Documents Fenster öffnet sich. In diesem Fenster expandieren Sie die Applikationsbäume der Darstellung und öffnen das Script, welches Sie debuggen wollen, mit einem Doppelklick. Um den Breakpoint zu setzen gehen Sie in die Zeile Ihres Codes, in die der Breakpoint gesetzt werden soll: Dazu wählen Sie Toggle Breakpoint aus dem Debug Menü aus.

Wenn Sie dann Ihr Script erneut mit dem Browser aufrufen, arbeitet sich der IIS nur bis zum Breakpoint durch, öffnet dann sofort den Script Debugger und setzt den Cursor auf die Stelle des Breakpoints (Vorausgesetzt es ist kein Fehler vor dem Breakpoint aufgetreten). Danach können Sie Zeile für Zeile das Skript ausführen lassen und die Werte der Variablen sowie die Browserausgabe kontrollieren bis Sie den Fehler entdeckt haben.

JIT Debugging

Wenn in Ihrem serverseitigen Script ein Runtime Error auftaucht so startet der Microsoft Script Debugger auotmatisch und setzt den Cursor in die Zeile des Skripts, in der der Fehler aufgetreten ist. Die Ausführung des Skripts ist nun unterbrochen aber nicht abgebrochen, man kann also die Werte von Variablen überprüfen. Nach erfolgter Suche kann man den Fehler (oder seine Ursache) in einem Editor ausbessern und die Änderungen speichern bevor man das Script erneut ablaufen läßt.

VBScript "Stop" Statement Debugging

Man kann Breakpoints auch direkt im VBScript Code einbauen. Alles was man machen muß ist ein STOP Statement vor die fragliche Stelle im Script zu setzen. Das folgende Beispiel eines serverseitigen Scripts enthält ein STOP Statement, welches die Ausführung des Scripts stoppt - und zwar in Zeile 17.

1: <% @language = VBScript %>
2: <% Option Explicit 
3:
4: ' Variablen deklarieren
5: Dim strError
6: Dim ANZ
7: Dim i
8:
9:  Function Fehler(ANZ)
10:   For i = 1 to ANZ
11:      strError = strError & "F E H L E R !<br>"
12:   Next
13:   Fehler = strError
14: End Function
15:
16: ' Setzen des Breakpoints
17: Stop
18:
19: strError = Fehler(7)
20: Response.Write(strError)
21: %>

Wenn Sie dieses Script im Browser aufrufen so startet der Microsoft Script Debugger und zeigt automatisch auf die Zeile mit dem STOP Statement (gekennzeichnet durch einen gelben Pfeil). Jetzt sind Sie am Zug. Sie können nun die Werte der Variablen kontrollieren (bevor diese weiter verarbeitet werden), im Einzelschrittmodus den Code testen, usw.

Vergessen Sie aber nicht alle STOP Statements nach der Überprüfung aus Ihrem Script zu entfernen!

JScript "debugger" Statement Debugging

Natürlich können Breakpoints auch in serverseitigen Scripts, die in JScript geschrieben sind, gesetzt werden. Um einen Breakpoint in JScript zu provozieren muß man das debugger Statement in den Code einfügen.

1: <% @language = JScript %>
2: <%
3: for (var ANZ = 1; ANZ <=8; ANZ++)
4:  {
5:    var fehlermeldung = ANZ%2;  
6:
7:    // Setzen des Breakpoints
8:    debugger;
9:    if (fehlermeldung == 0)
10:      Response.Write("Der Fehlermeldungswert ist " + ANZ + " <br>")
11: }
12: %>

Einfache Tips und Tricks

Der beste Tip ist sicher, keine Fehler zu machen, aber Spaß beiseite - Fehlervermeidung ist effektiver als Fehlerbehandlung.

  • Achten Sie schon bei der Variablenbennung auf Einfachheit und gewöhnen Sie sich womöglich gleich die ungarische Notation an (die Stringvariable Anzahl = strAnzahl) so können Sie den Datentyp schon vom Variablennamen ableiten.
  • Beim Entwickeln von ASP-Seiten ist es wichtig Option Explicit zu setzen. Dies zwingt Sie dazu, Variablen zu deklarieren. Vorteil ist, daß die Benutzung eines falscher Variablennames sofort gemeldet wird.

	1: <% @Language = VBScript %>
	2: <% Option Explicit
	3: ' Variablen deklarieren
	4: Dim strError
	5: Dim ANZ
	6: Dim i
	7: %>
	

  • Wenn ein Fehler aufgetreten ist und Sie auch die ungefähre Position des Fehlers wissen, empfiehlt es sich die Variable mittels Response.Write vor und nach einem Befehl im Skript in den Browser zu schreiben um die Werte kontrollieren zu können.
  • Oft kann es nützlich sein den Datentyp einer Variable zu kennen, da man dann Fehlerquellen ausschließen kann. Wenn Sie den Typ der Variable aber nicht kennen (z.B. Integer) können Sie diesen ohne große Probleme ausschreiben. Dieses kurze Beispiel zeigt Ihenen wie Sie die VarType() Funktion dazu verwenden können:

	1: <% @Language = VBScript %>
	2: <% Option Explicit
	3: Dim IntVar, VarCheck
	4: ' Initialisieren der Variable IntVar
	5: IntVar = 123
	6: ' Zuweisen des Wert von IntVar zu VarCheck
	7: VarCheck = VarType(IntVar)   
	8: ' Ausschreiben des VarType Wertes
	9: Response.Write VarType(IntVar)
	10: %> 
	

Der Microsoft Script Debugger 1.0

Der Microsoft Script Debugger erlaubt es Ihnen Active Server Pages Scripts mittels Variablenkontrolle, Setzen von Breakingpoints und Step Through, zu debuggen - und hilft Ihnen dadurch bei der Diagnose von Fehlern.

Sie finden den Script Debugger unter Start, Programme, Zubehör und Microsoft Script Debugger wenn Sie Windows 2000 Server auf Ihrem Rechner installiert haben. Sollten Sie noch mit Windows NT 4.0 arbeiten, dann wird der Script Debugger zusammen mit dem Option Pack installiert.

Ein kleiner Überblick

Der Microsoft Script Debugger liefert eine gut Debugging Umgebung für den Entwickler und ermöglicht diesem seine server- und clientseitigen Scripts, wie VBScript und JScript, zur Laufzeit zu debuggen. Ausbessern müssen Sie die gefundenen Fehler aber wieder in Ihrem Editor, da der Script Debugger nur das Lesen der Scripts erlaubt.

Der Script Debugger ist ähnlich wie der Debugger in Visual Basic und ermöglicht es Ihnen den Source Code des Scripts einzusehen und die Ausführung mittels der folgenden Debugging Befehlen zu kontrollieren: Step into, Step over, Step out und Run. Werte von Variablen können mit Hilfe des Debugger Command Windows ausgelesen und verändert werden.

Client-side und server-side Scripts werden unterschiedlich behandelt.

Client-side Scripts welche in VBScript oder JScript geschrieben sind, werden direkt im Internet Explorer ausgeführt. Das Script das in HTML eingebettet ist wird in den Browser geladen. Der Browser parst die Seite und sobald ein Fehler auftritt, erzeugt dieser eine Fehlermeldung.

Server-side Scripts bestehen aus VBScript oder JScript und sind in einer ASP Datei eingebaut. Die .asp Datei wird vom IIS ausgeführt sobald sie vom Browser angefordert wird. Erst zu diesem Zeitpunkt wird der Inhalt an den Browser übermittelt. Da .asp Dateien von oben nach unten ausgeführt werden, werden sowohl Syntax als auch Run-Time-Error erst dann entdeckt und ausgegeben wenn ein Browser-Request erfolgt. Daher sollte man jede ASP Seite mindestens einmal mit dem Browser aufrufen um sie grob auf Fehler zu kontrollieren.

WICHTIG: Um server-side Scripts zu debuggen muß sichergestellt sein, daß der Script Debugger auf der selben Maschine wie der Webserver läuft. Ist das nicht der Fall so ist kein Debuggen möglich.

Ich werde Ihnen nun anhand kleiner Beispiele einen kurzen Einblick in die Verwendung des Script Debuggers geben.

Vorbereitung für die Nutzung des Script Debuggers

Bevor wir nun zu den Einstellungen fürs Debuggen kommen möchte ich Sie noch an einige wichtige Dinge erinnern.

  1. Erstens, wenn Sie server-side Scripts debuggen wollen muß sichergestellt sein, daß der Browser und IIS auf der selben Maschine sind. Wenn Sie eine Seite, die Sie debuggen wollen, von einem fremden Client öffnen so kann diese Seite nicht debugged werden. Sie bekommen bei einem Fehler nur die Meldung, daß der Browser die Seite nicht öffen kann, und das ist nicht Sinn der Sache. (wie schon früher erwähnt ginge es aber mit Visual InterDev 6)
  2. Zweitens, wenn Sie client-side Scripts debuggen wollen, müssen Sie zuerst das Debuggen von Scripts im Internet Explorer erlauben( das wurde bereits unter ”Vorbereitungen fürs Debuggen” erklärt).
  3. Drittens, wenn Sie server-side Scripts debuggen, müssen Sie speziell für diese ASP Application das Debuggen erlauben (Erklärung unter ”Vorbereitungen fürs Debuggen”).

Verwenden des Script Debuggers

Grundsätzlich gibt es 4 Wege den Script Debugger aufzurufen:

  • Mittels Scripting Befehl.
    Für VBScript der Befehl Stop und für JScript der Befehl debugger
  • Händisch.
    Start, Programs, Accessories, Microsoft Script Debugger und dann die ASP Datei im Browser aufrufen.
  • Aus dem Internet Explorer.
    Indem Sie zuerst die Seite im Browser öffnen, dann klicken Sie im Hauptmenü auf View, Script Debugger und dann Open. (nur client-side Debugging)
  • Aufgrund eines Fehlers im Script
    Wenn das Debuggen eingeschaltet ist und ein server- oder clientseitiger Fehler im Browser auftritt, so öffnet sich automatisch der Debugger.

Wenn Sie nun den Debugger öffnen sollten Sie vier Fenster (Read only, Running Documents, Call Stack und Command) sehen. Ist das nicht der Fall, dann klicken Sie im Hauptmenü auf View und klicken Sie die nicht mit Häkchen makierten Fenster an.

Running Documents: Dieses Fenster zeigt Ihnen alle auf dem Server laufenden Applikationen (sowie für client-side den IE). Unter den Applikationen sind die Dokumente die debugged werden können. Durch Klicken auf das (+) bei den Knoten können Sie den Baum expandieren und das zum Debuggen benötigte Script auswählen.

Call Stack: Das Call Stack Fenster zeigt alle zur Zeit aktiven Prozeduren. Sobald eine Prozedur aufgerufen wird kommt sie mit Namen und Scriptsprache in die Liste des Stacks. Ist die Prozedur beendet wird diese Zeile sofort wieder aus der Liste gelöscht.

In der Combo-Box oben im Fenster wird der momentan laufende Thread angezeigt, oft laufen auch mehrere Threads zugleich. Dann können Sie mittels Dropdown Auswahl einen bestimmten aussuchen und ihn debuggen. Dadurch, das jeder Thread seinen eigen Call Stack hat, wird das Fenster sofort upgedated sobald Sie den Thread wechseln.

Command Window: Hier kann der Entwickler direkt ins Geschehen eingreifen und Werte von Variablen ändern, Prozeduren aufrufen (in der selben Weise wie man sie im Script aurufen würde). Wenn Sie Befehle ins Command Fenster schreiben, vergessen Sie nicht auch die passende Scriptsprache zu verwenden. VBScript verlangt zur Ausgabe der Variablen ein Fragezeichen (?) vor dem Variablennamen.

Read only Window: Vielleicht der falsche Name für diese Fenster, denn Sie können hier sehr wohl Aktionen tätigen. Sie können in diesem Fenster Breakingpoints setzen und löschen, Stepping Through Befehle (Step into, Step over und Step out) ausführen und sogar Bookmarks setzen. In diesem Fenster wird Ihnen auch die Position des Errors gezeigt wenn sich der Debugger aufgrund eines Fehlers öffnet.

Debugging eines Client-Side Scripting Errors

Nun wird es ernst. Um das Debuggen demonstrieren zu können müssen wir zuerst einmal ein Script schreiben und dann auch noch einen Fehler einbauen (nicht alle Fehler bauen sich von selbst ein). Speichern Sie folgenden Code unter einer TestSite (Website im IIS welche Sie zum Testen Ihrer Scripts bereits angelegt haben sollten) als debug.asp im Root ab.

1: <html>
2:   <head>
3:    <title>Debug.asp</title>
4:   </head>
5:   <body>
6:   <script language="JavaScript">
7:      document.write("<h1>Client-side scripting error debugging</h1>");
8:      for (i=1, Fehler=" Kein Fehler"; i<=8; i++, Fehler+=" Kein Fehler")
9:       {
10:       document.writ(Fehler);
11:       document.write("<br>");
12:       }
13:   </script>
14:   </body>
15: </html>

Rufen Sie nun die Datei debug.asp im Browser auf. Sobald Sie das getan haben bekommen Sie schon eine Fehlermeldung. Keine Angst, der Fehler liegt nicht bei Ihnen. Vorrausgesetzt Sie haben das Script "fehlerfrei" abgeschrieben werden Sie die folgende Fehlermeldung erhalten:

Sollten Sie keinen Script Debugger auf Ihrer Maschine haben, dann zeigt Ihnen Internet Explorer die unten dargestellte Dialogbox (IE 5.5 Screenshot). Sie müssen also Ihre Installation "nachbessern".

Zurück in der "richtigen" Dialogbox drücken Sie jetzt auf Yes, der Script Debugger öffnet sich und ein gelber Pfeil zeigt Ihnen die Position des Fehlers an.

Wie Sie unschwer erkennen können habe ich das e im document.write(Fehler) weggelassen. Um den Fehler ausbessern zu können müssen Sie diese Datei wieder in Ihrem Editor öffnen und das e hinzufügen. Speichern Sie nun die Datei ab und öffnen Sie diese im Browser noch einmal. Jetzt sollte die Seite einwandfrei dargestellt werden.

Achtung: Wenn Sie client-seitige Scripts, welche in einer ASP-Datei generiert werden, debuggen, so kann es vorkommen, daß die in der Fehlermeldung angegebene Zeilennummer nicht mit der des Fehlers übereinstimmt. Der Grund dafür ist, daß sich die Fehlermeldung auf das HTML-Document bezieht und nicht auf die ASP-Datei.

Debugging eines Server-Side Runtime Errors

Wie werden serverseitige Runtime Fehler vom Debugger abgearbeitet? Hierzu werden wir wieder ein kleines Script schreiben. Speichern Sie dieses unter dem Namen debugserver.asp auf Ihrer Testsite im Root ab.

1: <%  @Language = VBScript %>
2: <% Option Explicit
3: Dim IntVar, VarCheck
4: ' Initialisieren der Variable IntVar
5: IntVar = 459
6: ' Zuweisen des Wert von IntVar zu VarCheck
7: VarCheck = VarType(IntVar)
8: ' Ausschreiben des Wertes 
9: 
10: Response.Write VarType(Interror) 
11: %>

Rufen Sie nun die Datei debugserver.asp im Browser auf, und spätestens jetzt wird Ihnen etwas auffallen. Der serverseitige Fehler verursacht das sofortige Öffnen des Debuggers, ohne Sie zuvor zu fragen ob Sie überhaupt debuggen wollen.

Für uns Entwickler ist das aber sehr brauchbar, es läßt sich dadurch nämlich unterscheiden ob der Fehler client- oder serverseitig ist. Wenn ein serverseitiger Error auftritt und das Debuggen im IIS erlaubt ist, öffnet sich der Debugger von selbst. Wenn der Fehler aber clientseitigen Ursprungs ist so erscheint zuvor eine Dialogbox und Sie können entscheiden, ob Sie das Skript debuggen wollen oder nicht. Ist das Debuggen im IIS nicht erlaubt und ein serverseitiger Fehler tritt auf, dann wird die Fehlermeldung direkt im HTML-Document angezeigt, vorausgesetzt Sie haben die oben angeführten Einstellungen für den Internet Explorer durchgeführt.

Wie auch immer, um den Fehler ausbessern zu können müssen Sie das Script in Ihrem Editor bearbeiten und die Seite erneut laden. In unserem Beispiel wäre die Korrektur der Zeile Response.Write VarType(Interror) auf Response.Write VarType(IntVar) durchzuführen.

Debuggen eines Logischen Fehlers

Was ist wenn sich ein sogenannter logischer Fehler in unser Script eingeschlichen hat? Um dies veranschaulichen zu können werden wir uns ein neues Script basteln. Speichern Sie dieses unter logical.asp im Root Ihrer Website ab. Der Code dazu ist folgender:

1: <% @Language = VBScript %>
2: <% Option Explicit
3: dim x
4: dim y
5: dim Ergebnis
6: 
7: x=1
8: y=0
9: Ergebnis=x/y
10: Response.Write "Das Ergebnis ist: " & Ergebnis
11:%>

Öffnen Sie nun das Script im Browser. Sobald der Browser die Seite geladen hat öffnet sich der Script Debugger und stellt den Cursor auf die Zeile 9 in unserem Script. Die Fehlermeldung besagt, daß wir eine Division durch 0 (Null) gemacht haben, und diese ist nicht erlaubt.

Wenn Sie den Wert der Variable y ungleich 0 (Null) setzten dann wird das Script funktionieren.

Arbeiten mit Breakpoints

Jetzt zeige ich Ihnen noch wie man mit Breakpoints arbeitet. Dadurch kann man das Script an speziellen Punkten (Breakpoints) anhalten um z.B. den Wert von Variablen abzufragen, oder die Befehle im Einzelschrittmodus abarbeiten zu können.

Wir werden nun den Wert der Variable y (vor dem Ausbessern) kontrollieren, indem wir in der Zeile 7 unseres Script einen Breakpoint setzen. Sie haben grundsätzlich 2 Möglichkeiten einen Breakpoint im Debugger zu setzen: Stellen Sie den Cursor in die Zeile in der der Breakpoint plaziert werden soll und drücken Sie auf F9, oder gehen Sie ins Hauptmenü zu Debug und drücken dann auf Toggle Breakpoint. Wie schon weiter oben besprochen gibt es auch noch die Möglichkeit einen Breakpoint mittels Scriptbefehl zu setzen. In VBScript ist dies der Befehl Stop und in JScript debugger.

Wenn Sie nach dem Setzen des Breakpoint dann im Browser auf Refresh drücken, dann wird der Debugger wieder göffnet und ein roter Pfeil signalisiert Ihnen, daß das Script an dieser Stelle gestoppt wurde. Als nächstes drücken Sie F8 und springen bis zur Zeile 9 (Ergebnis=x/y), wo wir nun den Wert der Variable y bestimmen können.

Normalerweise sollte das Command Window bereits geöffnet sein. Wenn nicht, dann öffnen Sie es jetzt. Das Command Window erlaubt es Ihnen die aktuelle Zeile in Ihrem Script auszuführen. Wir sind im Moment in der Mitte eines Scripts welches in VBScript geschrieben ist, deshalb erwartet der Debugger im Command Window Befehle in VBScript (bei JScript erwartet er dann natürlich JScript). Tippen Sie nun in das Command Window ? y oder print y ein und bestätigen Sie. In der zweiten Zeile muß 0 erscheinen.

Bevor wir weitergehen ändern wir den Wert von y auf 1. Tippen Sie in das Command Window y=1 und drücken Sie auf Enter. Bei der nächsten Abfrage mit ? y wird der Wert für y daher 1 sein. Um das Script weiterlaufen zu lassen drücken Sie nun F5. Im Browser sollten Sie nun das Ergebnis 1 lesen können. Jetzt wissen wir also, wie wir den Fehler ausbessern müssen!

Debugging vom global.asa Dateien

Ich möchte hier nur kurz über das Debuggen der global.asa sprechen, da ich der Meinung bin, daß eine ausführliche Beschreibung den Rahmen dieses Artikels sprengen würde. Dem Anfänger würde ich raten die Finger vom Debuggen der global.asa zu lassen. Fortgeschrittene sollten wissen, daß man die global.asa programmatisch debuggen muß. Dies bedeutet, daß man in den Sourcode bei VBScript den Befehl Stop und bei JScripts debug setzen kann.

Schlußbemerkung

Sie haben nach diesem Artikel einen Einblick in die Welt des Debuggens erhalten. Sie haben gelernt wie man mit dem Microsoft Script Debugger umgeht, Sie wissen nun über verschiedenste Fehlerarten und Techniken zum Debuggen bescheid. Ich habe Ihnen auch noch gezeigt welche Einstellungen Sie im Internet Explorer und im IIS machen müssen, damit das Debuggen möglich wird.

Damit Sie in Zukunft weniger Debuggen müssen, sollten Sie sich vielleicht das Buch Writing Solid Code von Steve Maguire einmal durchlesen - darin erhalten Sie wichtige Tips zu Fehlervermeidung (Achtung: Beispiele sind in C).

Mit den Informationen und dem Wissen aus diesem Artikel sind Sie für Ihre ersten großen Debuggingerfahrungen bestens gerüstet, nach Ihren Fehlern müssen Sie aber trotzdem selber suchen. Noch Viel Spaß beim Fehlersuchen.

Download des Codes

Klicken Sie hier, um den Download zu starten.

Verwandte Artikel

ASP-Fehlerbehandlung unter IIS5
Global.asa: Verwendung, Events und Probleme
JavaScript & DHTML - Wie man Fehler findet bevor die Kunden es tun
Verfügbarkeit von Objekten prüfen

Wenn Sie jetzt Fragen haben...

Wenn Sie Fragen rund um die in diesem Artikel vorgestellte Technologie haben, dann schauen Sie einfach bei uns in den Community Foren der deutschen .NET Community vorbei. Die Teilnehmer helfen Ihnen gerne, wenn Sie sich zur im Artikel vorgestellten Technologie weiterbilden möchten.

Haben Sie Fragen die sich direkt auf den Inhalt des Artikels beziehen, dann schreiben Sie dem Autor! Unsere Autoren freuen sich über Feedback zu ihren Artikeln. Ein einfacher Klick auf die Autor kontaktieren Schaltfläche (weiter unten) und schon haben Sie ein für diesen Artikel personalisiertes Anfrageformular.

 

Und zu guter Letzt möchten wir Sie bitten, den Artikel zu bewerten. Damit helfen Sie uns, die Qualität der Artikel zu verbessern - und anderen Lesern bei der Auswahl der Artikel, die sie lesen sollten.

Bewerten Sie diesen Artikel
 Sehr gut   Nicht genügend  
   1  2  3  4  5  
 

  
   Für Ausdruck optimierte Seite

©2000-2006 AspHeute.com
Alle Rechte vorbehalten. Der Inhalt dieser Seiten ist urheberrechtlich geschützt.
Eine Übernahme von Texten (auch nur auszugsweise) oder Graphiken bedarf unserer schriftlichen Zustimmung.