Suivez-nous sur X

|
|
|
0,
A,
B,
C,
D,
E,
F,
G,
H,
I,
J,
K,
L,
M,
N,
O,
P,
Q,
R,
S,
T,
U,
V,
W,
X,
Y,
Z,
ALL
|
|
0,
A,
B,
C,
D,
E,
F,
G,
H,
I,
J,
K,
L,
M,
N,
O,
P,
Q,
R,
S,
T,
U,
V,
W,
X,
Y,
Z
|
|
0,
A,
B,
C,
D,
E,
F,
G,
H,
I,
J,
K,
L,
M,
N,
O,
P,
Q,
R,
S,
T,
U,
V,
W,
X,
Y,
Z
|
|
A propos d'Obligement
|
|
David Brunet
|
|
|
|
Test de SnoopDOS 1.4
(Article écrit par Gilles Soulet et extrait d'AmigaDP - juillet 1992)
|
|
SnoopDOS est un petit utilitaire vraiment pratique. Je l'ai découvert par hasard sur la disquette CAM 594,
et depuis, il m'est très difficile de m'en passer. Son auteur, Eddy Carroll, a eu une idée assez
géniale !
Présentation
SnoopDOS est désigné par son auteur comme étant un "AmigaDOS functions calls monitor". En clair, ceci
signifie que SnoopDOS est capable de vous indiquer quels sont les appels à la bibliothèque DOS, d'où
proviennent ces appels et quels en sont les résultats. Si tout ceci vous paraît bien inutile, vous
allez vite vous rendre compte de l'intérêt d'un tel programme...
Fonctions
SnoopDOS détourne un certain nombre de fonctions de la dos.library afin de vous prévenir chaque
fois qu'une de ces fonctions est appelée par un processus de votre Amiga. La bibliothèque DOS
fournit les fonctions générales d'accès aux fichiers et aux catalogues. Ainsi, chaque fois qu'un
processus tente un accès sur tel ou tel fichier, vous êtes aussitôt prévenu !
SnoopDOS est lancé comme une simple commande CLI. Il se détache automatiquement, et affiche aussitôt
une fenêtre sur votre Workbench. Cette fenêtre est organisée en cinq colonnes : Process
name, Func, Filename, Mode, Res.
Figure 1
La première colonne (Process name) indique le nom du processus
d'où provient l'appel.
La colonne "Func" indique le nom de la fonction DOS qui a été appelée. SnoopDOS est capable
d'identifier les appels aux fonctions CurrentDir(), DeleteFile(), Execute(), LoadSeg(), Lock()
et Open(). La colonne "Filename" indique le nom du fichier ou du répertoire qui est utilisé
lors de l'appel d'une des fonctions. La colonne "Mode" indique le mode d'accès au fichier.
Pour Open(), par exemple, le mode peut être "OLD" si le fichier à ouvrir existait déjà, ou
"NEW" si le fichier à ouvrir n'existait pas et a donc été créé. Pour la fonction Lock(),
qui associe à un process un verrou d'entrée-sortie sur un fichier, le mode peut être
"SHAR" si l'accès est partagé (shared) ou "EXCL" si l'accès est exclusif. La dernière colonne
"Res." indique le résultat de l'appel : "Okay" si l'appel est un succès, ou "Fail" si
c'est un échec.
Examinons un peu les différentes fonctions tracées. Currentdir() est utilisée par un process pour
changer de répertoire courant. En effet, à chaque processus est associé un chemin particulier dans
lequel les fichiers sont recherchés : c'est le répertoire courant. Tout processus
est capable, à tout moment, de modifier son répertoire courant. DeleteFile() est utilisée pour
effacer des fichiers.
De son côté, Execute() permet à un programme d'exécuter temporairement une commande passée en paramètre
(ou tout autre programme exécutable). LoadSeg() est utilisée pour charger en mémoire un programme,
sans toutefois provoquer son exécution. Lock() associe un verrou à un fichier. Enfin, Open()
permet d'ouvrir un fichier existant ou de créer un nouveau fichier.
Comme SnoopDOS est capable de
vous renseigner en détail sur presque tous les accès au fichier, il vous renseignera en particulier
sur d'éventuelles ouvertures de bibliothèques, de polices, de périphériques logiques, etc.
Et comme les variables d'environnement de l'Amiga ne sont en fait que des fichiers particuliers,
les accès à d'éventuelles variables vous seront également indiqués.
L'intérêt est évident : vous avez un programme (appelons-le "totoche") qui refuse obstinément de
fonctionner, sans raison apparente. Installez SnoopDOS et lancez votre programme fautif.
En examinant attentivement la fenêtre de SnoopDOS, vous venez de vous rendre compte que "totoche"
a tenté d'ouvrir "totoche.library", ou "totoche.device" ou encore "S:totoche.config". Comme
aucun de ces fichiers n'existe sur votre disque système, le pauvre "totoche" ne peut s'exécuter.
Ainsi, vous venez de comprendre pourquoi "totoche" ne fonctionne pas chez vous !
La figure 2 montre clairement que le programme Ncomm (émulateur de terminal) tente d'ouvrir, sans
succès, plusieurs polices de caractères et une bibliothèque. Ceci explique pourquoi Ncomm
ne fonctionne pas...
Figure 2
Conclusion
SnoopDOS est vraiment un outil indispensable. Il n'est pas très gros (10 ko) et propose un grand
nombre d'options. On peut par exemple ne tracer que certains appels, afficher les noms de fichiers
complets (c'est-à-dire avec tout le chemin d'accès), rediriger l'affichage vers le port série ou
vers l'imprimante. On peut aussi désactiver temporairement le programme, car il ralentit quand
même beaucoup les accès disque. Bref, c'est une grande réussite !
Nom : SnoopDOS 1.4.
Auteur : Eddy Carroll.
Genre : moniteur système.
Date : 1992.
Configuration minimale : Amiga OCS, 68000, AmigaOS 2.04.
Licence : gratuiciel.
Téléchargement : CAM 594, Aminet (version 3.11)
NOTE : 7/10.
|
|