web-dev-qa-db-fra.com

Comment déboguer un script VBScript autonome?

J'ai un script VBScript qui prend 2 arguments de ligne de commande et effectue une certaine validation. J'ai besoin de déboguer cela pour voir comment le programme est exécuté. J'essayais de coller cela dans Excel (en utilisant VBA ). Cependant, certaines constructions comme Const, etc. ne sont pas prises en charge, et certaines validations telles que la prise des arguments de ligne de commande échouent.

Par conséquent, je voudrais savoir s'il existe un moyen de déboguer ce script. J'ai Windows XP et Office 2003 installés. Je ne peux installer aucune autre application sur l'ordinateur de bureau.

32
Dheer

Exécutez cscript.exe pour les arguments de commande complets, je pense

cscript //X scriptfile.vbs MyArg1 MyArg2

exécutera le script dans un débogueur.

41
Binary Worrier

Clique le mse7.exe installé avec Office généralement à \Program Files\Microsoft Office\OFFICE11.

Cela ouvrira le débogueur, ouvrira le fichier, puis exécutera le débogueur en mode GUI.

3
Dheer

C'est pour les futurs lecteurs. J'ai trouvé que la méthode la plus simple pour moi était d'utiliser Visual Studio -> Tools -> External Tools. Plus de détails dans ce réponse .

Plus facile à utiliser et de bons outils de débogage.

1
shash

Pour la postérité, voici l'article KB308364 de Microsoft sur le sujet. Cela n'existe plus sur leur site Web, il provient d'une archive .

Comment déboguer les fichiers Windows Script Host, VBScript et JScript

[~ # ~] résumé [~ # ~]

Le but de cet article est d'expliquer comment déboguer des scripts Windows Script Host (WSH), qui peuvent être écrits dans n'importe quel langage de script ActiveX (tant que le moteur de langage approprié est installé), mais qui, par défaut, sont écrits en VBScript et JScript. Il existe certains indicateurs dans le registre et, selon le débogueur utilisé, certaines procédures requises pour activer le débogage.

PLUS D'INFORMATIONS

Pour déboguer des scripts WSH dans Microsoft Visual InterDev, le débogueur de scripts Microsoft ou tout autre débogueur, utilisez la syntaxe de ligne de commande suivante pour démarrer le script:

wscript.exe //d <path to WSH file>
           This code informs the user when a runtime error has occurred and gives the user a choice to debug the application. Also, the //x flag

peut être utilisé, comme suit, pour lever une exception immédiate, qui démarre le débogueur immédiatement après l'exécution du script:

wscript.exe //d //x <path to WSH file>
           After a debug condition exists, the following registry key determines which debugger will be used:

HKEY_CLASSES_ROOT\CLSID\{834128A2-51F4-11D0-8F20-00805F2CD064}\LocalServer32

Le débogueur de script doit être Msscrdbg.exe et le débogueur Visual InterDev doit être Mdm.exe.

Si Visual InterDev est le débogueur par défaut, assurez-vous que la fonctionnalité juste à temps (JIT) est activée. Pour le faire, suivez ces étapes:

  1. Démarrez Visual InterDev.

  2. Dans le menu Outils, cliquez sur Options.

  3. Cliquez sur Débogueur, puis assurez-vous que les options Just-In-Time sont sélectionnées pour les catégories Général et Script.

En outre, si vous essayez de déboguer un fichier .wsf, assurez-vous que la clé de Registre suivante est définie sur 1:

HKEY_CURRENT_USER\Software\Microsoft\Windows Script\Settings\JITDebug

[~ # ~] propriétés [~ # ~]

ID de l'article: 308364 - Dernière révision: 19 juin 2014 - Révision: 3.0

Mots clés: kbdswmanage2003swept kbinfo KB308364

0
DaveInCaz