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
|
|
|
|
En pratique : Utilisation de Sashimi
(Article écrit par Stéphane Saragaglia et extrait de GuruMed.net - avril 2002)
|
|
Comprendre Sashimi et utiliser ses options
Cet article complète celui sur la bibliothèque
ddebug où était évoquée la redirection des messages destinés au port série vers une fenêtre ou un fichier.
Qu'est-ce que c'est ?
Sashimi s'utilise avec les outils de débogage qui se servent du port série pour envoyer des informations
de débogage (Enforcer, KprintF(), Mungwall, PatchWork...). Il permet d'intercepter ces informations et de
les afficher dans la sortie par défaut (console, fichier), en n'interférant pas avec les périphériques
connectés.
Il a été écrit par Olaf Barthel qui souhaitait corriger certains bogues de son prédécesseur, Sushi
(de Carolyn Scheppner) : quelques problèmes avec l'algorithme de tampon mémoire circulaire, blocage
d'Intuition, etc.
On peut trouver cet outil, sa documentation et ses sources sur
Aminet ou sur le CD Amiga Developer 2.1
(ADCD_2.1:Contributions/Olaf_Barthel/Tools/Debugging/Sashimi/).
Comment ça marche ?
Sashimi utilise un tampon mémoire circulaire pour stocker et afficher les informations interceptées.
Ce qui veut dire qu'arrivé en fin de tampon, les plus anciens messages seront écrasés. Des options
discutées plus bas permettent de régler la taille du tampon.
Par défaut, Sashimi affiche les messages à chaque interception du caractère "\n", mais lesdites options
permettent de modifier ce comportement.
Sashimi se lance à partir du Shell (ou via IconX) et nécessite au moins le Kickstart 2.04.
Les invocations les plus courantes sont les suivantes :
- Dans un Shell, après que le Workbench soit lancé, pour provoquer l'ouverture d'une console
lors de l'appel à un KPrintF() ou similaire :
sashimi CONSOLE BUFK=64 NOPROMPT ASKEXIT ASKSAVE
|
- Assez tôt dans la startup-sequence, afin de permettre éventuellement de déceler des problèmes au
démarrage, lorsque couplé avec un Enforcer ou autre :
run <>NIL: sashimi >>Ram:sashimi.out BUFK=128 NOPROMPT
|
...éventuellement suivi d'un :
sashimi >NIL: RECOVER=Ram:sashimi.out"
|
...si le problème intercepté a été suivi d'un plantage système et d'un redémarrage à chaud. ;)
Comment en savoir plus ?
Je vous propose de passer en revue les principales options de Sashimi.
RECOVER=nom_fichier
Dans le cas où le système planterait avant qu'une sauvegarde de la sortie ait été réalisée, cette
option permet de récupérer "éventuellement" les informations de débogage toujours présentes en mémoire
au démarrage "à chaud" suivant. Le fichier "nom_fichier" est le fichier dans lequel sont sauvegardées
les données dans le cas où "RECOVER" réussit à récupérer des messages.
BUFK=n
BUFFERSIZE=n
Ces deux options permettent de redéfinir la taille du tampon mémoire circulaire de sauvegarde qui est
par défaut de 32 ko.
"BUFK" définit la taille par puissances de 2 (à partir de 4 ko) en opposition à "BUFFERSIZE" qui autorise
toutes les tailles :
- BUFK=8 : 8192 octets.
- BUFFERSIZE=8000 : 8000 octets.
TIMERON
Permet d'activer Sashimi chaque 1/10e de secondes, et non pas à chaque retour chariot.
CONSOLE
Sashimi s'ouvre une fenêtre d'entrées/sorties. La fenêtre s'ouvre lorsque des messages sont affichés
(ou avec le message l'installation).
- Ctrl-D : efface la sortie.
- Ctrl-F : sauvegarde la sortie.
- Ctrl-E : nettoie le buffer circulaire.
- Ctrl-C : quitte.
NOPROMPT
Supprime le message d'installation lors du lancement de Sashimi. Évite les problèmes lors du lancement
dans une startup-sequence par exemple.
Les autres options, moins importantes ou "de cosmétique" peuvent être trouvées dans la documentation
de l'archive (en anglais).
|