Blue Flower

In Windows Versionen  mit 32 Bit System kann direkt das debuggen durchgeführt werden.

Ab Windows Vista, 7 64 Bit nur in der Professional Version über den Windows Virtual PC. Diesen einfach installieren.

Sonst geht es nur noch durch einen kostenpflichtigen Debugger wie z.B. VbsEdit.


HTA Debuggen

Auch HTA-Dateien können "debuggt" werden.
Vorhab muss allerdings das Debuggen für den Internet-Explorer eingeschaltet werden.
In der Systemsteuerung die Internetoptionen aufrufen. Im Dialogfenster auf das Regiter Erweitert wechseln. Im Menüpunkt Browsen herunterscrollen und bei den Zeilen Scriptdebugging deaktivieren (andere) und Scriptdebugging deaktivieren (Internet Explorer) die Häkchen entfernen und mit OK das Dialgfenster schließen.

Danach ist der Debugger nicht mehr deakiviert.
Jetzt kann irgendwo im VB-Script-Berich der HTA-Datei ein stop Befehl in eine Scriptzeile eingefügt werden.

<SCRIPT LANGUAGE="VBScript">
...
sub test ()
  msgbox "hallo"
  stop
end sub
...
</SCRIPT>


Ein Debugger muss durch eine Softwarepaket zur Verfügung gestellt werden.

1.) z.B. MS-Office 2003 installieren für den Debugger. Es wird eigentlich nur über die "Erweiterte Anpassung von Anwendungen" in den Office Tools die HTML-Quellcodebearbeitung benötigt. Der Script Debugger for Windows hat nur eine sehr eingeschränkte Debug-Möglichkeit.

2.) Als Administrator muss in der Registry folgendes verändert. Den Wert von JITDebug von 0 auf 1 gesetzt. damit der JITDebug gestartet werden kann. Muss nur einmal gemacht werden. Eventuell ist ein Neustart notwendig.
Bei Windows XP kann ein Benutzer-Konto als Mitglied der Gruppe "Benutzer" oder "Hauptbenutzer" trotzdem nicht debuggen. Der User muss noch der Gruppe "Debuggerbenutzer" hinzugefügt werden.
Bei XP-Pro einfach unter Arbeitsplatz -> Kontextmenü -> Verwalten wird die Computerverwaltung aufgerufen und dort unter Benutzer den jeweiligen Benutzer in die Gruppe Debuggerbenutzer hinzufügen. Oder über die CMD-Shell für Einzelplatzsysteme: net localgroup "Debuggerbenutzer" "anmeldename_des_benutzers" /add 

3.) Dos -Box starten (Start > Ausführen > cmd). In der DOS-Box "cscript -x scripname.vbs" entippen. (Natürlich nur das zwischen den Anführungszeichen und scriptname duch den eigentlichen Scriptnamen ersetzen.) Das Ganze geht auch mit "cscript  -x scripname.vbs".
ODER über das o.g. Script-Debug-HTA Programm.

4.) Ein 'Just-In-Time-debuggen' Fenster geht dann auf mit der Meldung Eine Ausnahme 'Laufzeitfehler' ist in Script aufgetreten. Wenn noch kein Debugger läuft wird der Microsoft Script Editor mit Ja gestartet.

5.) Ein 'In Remote Prozessaufruf springen' Fenster geht jetzt auf. (Häckchen bei Script) und mit OK kann mit dem deguggen begonnen werden.

6.) gelber Pfeil zeigt die aktuelle Position im Programmablauf

Download der Reg-Datei (rechte Maustaste auf das Bild mit Ziel speichern unter ... und Dateityp alle auswählen)

regedit


Screenshots:

1.)
JITDebug 1

2.) & 3.)

JITDebug 2


4.)

JITDebug 3

5.)
JITDebug 4