113 votes

Comment puis-je déboguer un .Chauve-souris de script?

Est-il un moyen pour passer d'une .chauve-souris de script ? La chose est , j'ai un script de compilation , qui en appelle beaucoup d'autres scripts , et je voudrais voir quel est l'ordre dans lequel ils sont appelés , afin que je puisse savoir exactement où je dois aller sur et ajouter mes modifications .

81voto

spoon16 Points 17694

Je ne connais pas de toute façon à l'étape par l'exécution d'une .le fichier bat, mais vous pouvez utiliser echo et pause pour faciliter le débogage.

ECHO
Se fera l'écho d'un message dans le fichier de commandes. Comme ECHO Bonjour tout le Monde va imprimer Hello World " sur l'écran lors de l'exécution. Toutefois, sans le @ECHO OFF au début du fichier de commandes, vous aurez également le "ECHO Hello World" et "Hello World". Enfin, si vous souhaitez simplement créer une ligne vide, tapez ECHO. l'ajout de la période à la fin crée une ligne vide.

PAUSE
Invite l'utilisateur à appuyer sur une touche pour continuer.

Source: Fichier De Commandes Aider

@workmad3: réponse a plus de bons conseils pour travailler avec l' echo commande.

Une autre ressource utile... DDB: DOS de Fichier de Lot Conseils

20voto

workmad3 Points 12974

Assurez-vous il n'y a pas de "echo off" des déclarations dans les scripts et l'appel de l'écho sur " après l'appel de chaque script pour réinitialiser tout ce que vous avez manqué.

La raison en est que si l'écho est à gauche, alors l'interpréteur de commande sera de sortie de chaque commande (paramètre après le traitement) avant de l'exécuter. Fait-elle l'air vraiment mauvais pour l'utilisation dans la production, mais très utile à des fins de débogage que vous pouvez voir où la production a été mauvais.

Aussi, assurez-vous que vous vérifiez la ErrorLevels fixé par les appelés, les scripts et les programmes. Rappelez-vous qu'il y a 2 différentes méthodes utilisées dans la .les fichiers bat pour cela. Si vous avez appelé un programme, le niveau d'Erreur est en %ERRORLEVEL%, tandis qu'à partir des fichiers batch le niveau d'erreur est retourné dans la variable ErrorLevel et n'a pas besoin d'%.

16voto

Myobis Points 334

Face à le même soucis, j'ai trouvé l'outil suivant avec une simple recherche Google :

JPSoft de "Prendre les commandes" comprend un fichier de commandes IDE/débogueur. Leur courte vidéo de présentation montre bien.

Je suis en utilisant la version d'essai depuis quelques heures. Voici mon premier humble avis:

  • D'un côté, en effet, elle permet le débogage .chauve-souris et .cmd scripts et je suis maintenant persuadé qu'il peut aider dans certains cas
  • D'autre part, il est parfois blocs et j'ai dû le tuer... spécialement lors du débogage d'indices (pas toujours systématiquement).. il ne montre pas une "pile d'appel", ni une "étape" bouton.

Il deverves un essai.

9voto

Jokkke99BE Points 51

J'ai trouvé "en cours d'exécution-mesures" (win32) logiciel en train de faire exactement ce que je cherchais: http://www.steppingsoftware.com/

Vous pouvez charger un fichier bat, placer des points d'arrêt / démarrage marcher à travers elle tout en voyant la sortie et variables d'environnement.

La version d'évaluation ne permet que de l'étape à travers 50 lignes... quelqu'un aurait-il une alternative gratuite avec des fonctionnalités similaires?

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X