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.
- 4dos a une accumulation dans le débogueur.
Vous devez vous connecter pour publier un commentaire.
Je ne connais pas de toute façon à l'étape par l'exécution d'une .le fichier bat, mais vous pouvez utiliser
echo
etpause
pour faciliter le débogage.Source: Lot De Fichier D'Aide
@workmad3: réponse a plus de bons conseils pour travailler avec les
echo
commande.Une autre ressource utile... DDB: DOS de Fichier de Lot Conseils
Assurez-vous il n'y a pas d'écho 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, puis de 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é de mal.
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' %s'autour d'elle.
Face à le même soucis, j'ai trouvé l'outil suivant avec une simple recherche Google :
JPSoft du "Prendre la Commande" comprend un fichier de commandes IDE/débogueur. Leur courte vidéo de présentation le démontre bien.
Je suis en utilisant la version d'essai depuis quelques heures. Voici mon premier humble avis:
Il deverves un essai.
Always quote the most relevant part of an important link
. Sans le lien, cette réponse se dissout, ce qui, là encore, est probablement très bien, mais généralement, ce type d'ad-hoc suggestion d'un non-testées, le logiciel propriétaire serait généralement s'intégrer au mieux dans un commentaire. N'hésitez pas à laisser ainsi.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?
rem le @ECHO OFF
et appelez votre fichier de commandes redirectin TOUTES les sorties dans un fichier journal..
c:> yourbatch.chauve-souris (en option paramètres) > yourlogfile.txt 2>,&1
trouvé à http://www.robvanderwoude.com/battech_debugging.php
ÇA MARCHE!!!! n'oubliez pas les 2>,&1...
WIZ
La seule façon que je peux penser à est de spinkle le code avec
echo
s etpause
s.Avez-vous essayé de rediriger le résultat dans un fichier? Comme quoi que ce soit.bat >log.txt
Vous avez à faire en sorte que dans ce cas, tous les autres appelé script est également l'enregistrement sur le fichier, comme >>log.txt
Aussi, si vous mettez une date /T et le temps /T au début et à la fin de ce fichier de commandes, vous obtiendrez la fois que c'était à ce point et vous pouvez mapper vos script qui s'exécute temps et de l'ordre.
Ou......
Appelez votre main .fichier bat à partir d'un autre .chauve-souris de fichier de sortie et le résultat dans un fichier de résultat c'est à dire
coureur.bat > mainresults.txt
Où coureur.bat appelle la main .fichier bat
Vous devez en voir de toutes les actions effectuées dans la main .fichier bat maintenant
ou, ouvrez une fenêtre de commande, puis d'appeler le lot à partir de là, la sortie sera à l'écran.