AD -- Interface dévermineur Ada     Version: 29.VIII.1998


english version
derniers changements
Objectif:
Déverminage «post-mortem» pour l'Ada GNAT/DOS.
Affiche la liste des appels après une exception non résolue, en indiquant les noms des fichiers source, les numéros de ligne, les noms des unités, des sous-unités, les paramètres et les lignes de code source incriminées (y compris celles de code générique). Ce programme n'est qu'une interface avec le dévermineur GDB.EXE.
AD est gratuit, entièrement programmé en Ada, avec GNAT.

Installation:
Copiez AD.EXE et AD_SIPH.EXE dans un répertoire accessible, par ex. celui des exécutables du compilateur GNAT.
Tapez «path» pour avoir la liste de ces répertoires; «path /?» ou «help path» pour savoir comment la changer.

Utilisation:
Tapez AD pour voir la syntaxe et les options (ou c.f. plus bas).
Compilez votre programme avec l'option de déverminage -g, p.ex. tapez «gnatmake -g monprog.adb» .
Vous aurez alors monprog.exe (pour exécution directe) et monprog (pour déverminage).
  • En tapant «monprog», le programme marche normalement mais ne dit pas où s'est produite une éventuelle exception.
  • En tapant «ad monprog», vous verrez la pile des appels en cas d'exception; en tapant «ad /s monprog», aussi les lignes de programme Ada incriminées; avec «/p», les noms de sous-unités et les paramètres.

Remarques:
  • Si vous voulez voir le code source (option /S), il doit être dans un répertoire accessible par le compilateur GNAT: le répertoire courant ou l'un de ceux spécifiés dans la variable DOS «ADA_INCLUDE_PATH».
  • Le code source indiqué par GDB pour une unité générique est celui où elle est instanciée. Remède: si vous soupçonnez une bogue dans une unité générique, instanciez-la en une unité indépendante:
                truc.ads:     package Truc is new Machin(...);
    
    AD va alors retrouver l'unité générique originale.
  • Le fichier GDB.INI est ignoré par AD et reste inchangé.
  • Si le programme semble bloqué, essayez de taper «q» et [return].
  • L'option /V permet de revenir au mode texte correct avant l'affichage du résultat; c'est utile pour des exceptions survenant en mode graphique... (20.I.1998)
  • Signification des comptes-rendus:
    - AD.LOG est l'écran de sortie de AD (utile en mode graphique sans l'option /V);
    - AD_GDB.LOG est la sortie de GDB;
    - AD_FILES.LOG est une liste de nº de lignes et de noms de fichiers complets.
    Ce fichier est prévu pour un environnement integré comme AdaCAPS (dans une version future) ou EDIT, un petit éditeur «maison», qui gère les résultats d'AD ainsi que les erreurs de compilation --- [informations ici]; EDIT.EXE se trouve dans le répertoire UTILITY de l'archive AD.ZIP, ou bien chargez-le depuis ici.
    N.B.: format de AD_FILES.LOG modifié depuis la version du 17.IX.1997.
  • Testé avec GNAT 3.07 et 3.10p pour DOS, sous DR-DOS 1 7.02, MS-DOS 6.22 et MS-DOS 7.10 + Win 4.0 (Win 95 OSR 2).
  • Sous Norton Commander2 vous pouvez associer les exécutables sans extension à la commande AD; il suffit d'ajouter dans le fichier d'extensions une ligne:
       : ad /S /P /L /WH:\ !
    (dans cet exemple, H: est un lecteur RAM-disk)

Syntaxe et options:
Syntaxe: AD [langue] {/option} nom_prog [paramètres du prog.]
Options:
           /P        afficher noms et paramètres des sous-unités
           /S        afficher le code source
           /L        comptes-rendus (AD.LOG, AD_FILES.LOG, AD_GDB.LOG)
           /Wun_rep  répertoire de travail:= «un_rep» (ex. disque virtuel)
           /V        restaurer le mode vidéo
Langue: l'une des suivantes:
  ENGLISH  FRANCAIS

Derniers changements:
  • Début 1998: options: restaurer le mode vidéo, répertoire de travail
  • 25.VII.1998: fonctionne avec des exécutables hors du répertoire courant (spécifié ou trouvé dans la liste PATH du DOS)
  • 29.VIII.1998: affiche des exceptions «sauvages» (faults etc.)

Nouvelles versions:
Téléchargez AD.ZIP chez l'auteur
http://www.unine.ch/math/personnel/assistants/Gautier/Gaut_FTP.htm
ou sur le site EZ2LOAD: ftp://ftp.seas.gwu.edu/pub/ada/ez2load

Auteur:
Gautier de Montmollin
e-courrier (ou mèl, © l'Académie):Gautier.deMontmollin@Maths.UniNe.CH
internet:http://www.unine.ch/math/personnel/assistants/Gautier/Montmollin.html
Améliorations (pour utilisation sous NT) par:
Martin C. Carlisle, Asst Prof of Comp Sci,
US Air Force Academy, mcc@cs.usafa.af.mil
http://www.usafa.af.mil/dfcs/bios/carlisle.html

(1) DR-DOS: «Suite» gratuite de DR DOS 6, Novell DOS 7 et OpenDOS 7.01, multitâches, à charger depuis ce site. Pour faire tourner GNAT et d'autres programmes de la famille DJGPP, il est nécessaire de désactiver le serveur DPMI de DR-DOS (option du «setup» ou commande «dpmi off» dans autoexec.bat). N.B.: GNAT fonctionne correctement (y.c. en mode multitâches) à partir de la version 7.02 de DR-DOS - mettez-le à jour si nécessaire.
(2) Vous pouvez charger un bon clone de NC (en partagiciel), Volkov Commander par ce lien.