Le débogage sous Visual Basic 6 et Visual Basic pour Application (2e partie)

DarkVader

Tout ce que vous devez savoir sur le débogage et la gestion des erreurs sous Visual Basic 6.

Vos commentaires sont les bienvenus Commentez ♪

- Titre : Le débogage sous Visual Basic 6 et Visual Basic pour Application (2e partie)

- Auteur : DarkVader

- Parution : 19 février 2015

- Licence : Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright ® 2015 DarkVader. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.

Voir également :

- •Le débogage sous Visual Basic 6 (1re partie) - L'utilitaire de VB6i-Tools

Sommaire

- I. Introduction

- II. Installation

- III. Les utilitaires de l'IDE

- III-A. Gestion des signets

- III-B. Gestion des points d'arrêt

- IV. Les outils de « VB6i-Tools »

- IV-A. Administration des gestionnaires

- IV-A-1. Rédaction du gestionnaire type

- IV-A-2. Comportement de l'outil

- IV-A-3. Sélection détaillée

- IV-A-4. Actions

- V. Les outils délivrés par « VB6i »

- V-A. Les procédures dédiées

- V-A-1. TRACE

- V-A-2. TRACK

- V-B. Les services

- V-B-1. Le service DEBOG

- VI. Conclusion

I - Introduction

Ce tutoriel a vocation de décrire ce que le complément « VB6i-Tools » et la librairie « VB6i » peuvent offrir dans le domaine du débogage tant en libre accès que pour les outils sous licence.

Pour tout complément d'information ou téléchargement, consultez la documentation sur le site VB6i.com

II - Installation

Après déploiement du setup d'installation, il sera éventuellement nécessaire d'activer le complément dans l'IDE :
'Menu > Compléments > Gestionnaire de compléments' des menus de l'IDE Visual Basic :
Sélectionner => '_VB6i_Tools Addin for Library VB6i'

L'ouverture du gestionnaire de compléments s'effectue aussi via la commande Alt. CG.

(Version française.)

Lors de la primo installation, il sera nécessaire de s'enregistrer pour obtenir une licence 'Free Access'.
Un dialogue s'établira automatiquement afin d'en obtenir le certificat.

À cet effet, il sera nécessaire de disposer d'une connexion Internet.

III - Les utilitaires de l'IDE

Le complément permet de restituer les signets et les points d'arrêts d'un projet sauvegardé à sa réouverture.

III-A - Gestion des signets

F6 est un nouveau raccourci clavier permettant d'ajouter ou supprimer un signet existant.

III-B - Gestion des points d'arrêt

F9 est le raccourci à privilégier pour ajouter ou supprimer des points d'arrêt.

D'autre part, des boutons de navigation dans l'arborescence des points d'arrêt ont été ajoutés à la barre d'outils 'Edition'.

L'addin ne gère pas le double clic dans la marge des modules de code pour l'ajout ou la suppression de breakpoint.

Cette particularité peut être utilisée pour différencier les breakpoints à conserver.

IV - Les outils de « VB6i-Tools »

L'ouverture du menu personnalisé du complément s'effectue via la commande F10.

Les principaux menus du complément permettent de

- compiler le projet en cours ;

- ajouter une référence à la librairie VB6i ;

- administrer les gestionnaires d'erreurs ;

- créer un manifeste ;

- installer un serveur pour les applications utilisant les services ;

- ajouter un certificat aux applications compilées utilisant la librairie ;

- paramétrer les services ;

- accéder à la documentation.

IV-A - Administration des gestionnaires

L'outil ne gère pas les modules supportant des instructions de compilation conditionnelle (#).

Cet outil ajoute, supprime, remplace des gestionnaires d'erreurs à la manière de l'outil fourni par MZ-Tools, mais à la différence qu'il intervient sur plusieurs procédures en un seul traitement.
Il permet donc de traiter tout un projet en une seule opération.

En conséquence…

Avant toute utilisation de cet outil, créer une copie de sauvegarde de vos sources.

Pour commencer, utilisez l'outil sur une seule procédure.

Le double clic sur les fenêtres d'affichage permet d'afficher une vue étendue ou un retour à une vue normale.

IV-A-1 - Rédaction du gestionnaire type

Il existe deux modèles prédéfinis qui peuvent s'utiliser consécutivement :

- le modèle 'TRACE' : est un modèle de gestionnaire d'erreurs utilisant la procédure du même nom ;

- le modèle 'TRACK' : permet de suivre les procédures exécutées en période de test.

Vous pouvez toutefois personnaliser l'une ou l'autre en remplaçant la procédure propriétaire de la librairie par une procédure personnelle qui sera sauvegardée avec le projet.
(À cet effet, utilisez le modèle LAST USER MODEL.)

Pour écrire un modèle de gestionnaire, utilisez les TAGS prédéfinis comme pour MZ-Tools.

Pour une utilisation éventuelle des procédures propriétaires de la librairie, consultez la section dédiée.

IV-A-2 - Comportement de l'outil

Cette partie de l'outil est composée de trois blocs principaux :

- comportement du déploiement
- commente ou supprime les instructions existantes,
- récupère éventuellement des traitements spécifiques dans une instruction Select Case,
- supprime et/ou ajoute une numérotation de ligne ;

- comportements spéciaux
- déployer en plusieurs lignes les lignes multiinstructions ;

- présélection des modules concernés
- présélectionne les modules de code en fonction de leur type.

IV-A-3 - Sélection détaillée

Cette section permet de détailler sur quelles procédures l'outil s'appliquera.

Cocher un module sélectionne/désélectionne toutes les procédures du module.

Cliquer sur le nom de module déploie l'arborescence des procédures.

Cliquer sur un nom de procédure permet d'en visualiser le code.

IV-A-4 - Actions

Quatre actions sont possibles :

- Exécuter permet de lancer le traitement selon les sélections effectuées ;

- Sauvegarder permet la sauvegarde des données ;

- Imprimer imprime la liste des modules ignorés ou traités ;

- Aide en ligne ouvre la page d'aide concernée.

V - Les outils délivrés par « VB6i »

Les outils délivrés par la librairie « VB6i » nécessitent une licence.

V-A - Les procédures dédiées

Les procédures dédiées TRACE et TRACK sont des procédures optimisées qui permettent
de saisir un maximum d'informations en un minimum de cycles.

V-A-1 - TRACE

Journalise les informations collectées par les gestionnaires d'erreur et les formate telles que prédéfinies lors de la création du certificat.

V-A-2 - TRACK

Journalise les informations collectées par les gestionnaires de traçage (nom du module et nom de la procédure) seulement si la distribution est 'Bêta-test'.
Cet outil permet de connaitre l'ensemble des procédures testées selon l'environnement actif.

V-B - Les services

Les services peuvent être servis aux distributions 'dépendantes'.

Ce type de distribution nécessite un serveur distant.

Les services fournis par la librairie sont des applications totalement transparentes pour l'utilisateur final qui permettent de résoudre un ensemble de problèmes.

Les principaux services du complément sont :

- Access qui gère l'accès à l'application en fonction de droits prédéfinis ;

- Update qui administre les éventuelles mises à jour de l'application ;

- Debog qui expédie les différents fichiers journaux ;

- etc.

V-B-1 - Le service DEBOG

Ce service envoie au serveur

- les différents fichiers journaux en fonction
- d'une fréquence prédéfinie,
- des versions de Windows surveillées ;

- les informations environnementales prédéfinies :
- version de l'OS, système 32/64bits…
- définition de l'affichage,
- exécution mode administrateur,
- etc.

Puis les référencie dans la base de données dédiée afin d'en faciliter l'interprétation et la surveillance.

VI - Conclusion

Cet article sur les outils dédiés au débogage du complément VB6i-Tools nous aura permis de découvrir une petite partie cet utilitaire dont l'objet est de finaliser rapidement une application.

Tous mes remerciements à ceux qui ont bien voulu prendre un peu de leur temps pour me relire et finaliser cet article.