Vous êtes sur la page 1sur 3

LA COMMANDE DEBUG

Commande externe. Fonctionne sur la ligne de commande ou dans un batch. L'utilitaire Debug permet officiellement de dboguer un programme (de le mettre au point), mais surtout il offre l'opportunit de faire ses premires armes en assembleur (un cours est prvu, patience...). De plus il est encore prsent dans Windows... (Mais avec une aide ridicule). Syntaxe DEBUG [[lecteur:][chemin]fichier [param]] Paramtres [lecteur:][chemin]fichier Prcisent l'emplacement et le nom du fichier excutable tester. param Prcise toute information, a inclure dans la ligne de commande, ncessaire au fichier excutable que vous voulez tester. Si vous utilisez la commande DEBUG sans prciser aucun emplacement ou nom de fichier, vous devez taper toutes les commandes a la suite de l'invite de Debug (un tiret). Description des commandes de DEBUG ? Affiche une liste des commandes de Debug A : Assemble des mnmoniques 8086/8087/8088 (marche aussi pour processeur 32 bits) ; C : Compare deux zones de la mmoire ; D : Affiche le contenu d'une zone de la mmoire; E : Entre des donnes en mmoire a partir d'une adresse donne; F : Remplit une zone de mmoire avec des valeurs donnes; G : Excute le fichier excutable charge en mmoire; H : Ralise des oprations arithmtiques sur des valeurs hexadcimales; I : Affiche la valeur d'un octet d'un port donne; L : Charge en mmoire un fichier ou des secteurs de disque; M : Copie le contenu d'un bloc de mmoire; N : Spcifie un nom de fichier pour les commandes L et W ou spcifie les paramtres pour le fichier mis au point; O : Envoie la valeur d'un octet vers un port de sortie; P : Excute une boucle, une instruction sur chaine rpte, une interruption logicielle ou une sous routine; Q : Quitte Debug; R : Affiche ou modifie le contenu d'un ou plusieurs registres; S : Recherche, dans une zone de mmoire, une squence d'octets donne; T : Excute une instruction puis affiche le contenu de tous les registres, l'tat de tous les indicateurs et la forme dcode de l'instruction que Debug excutera ensuite; U : Dsassemble des octets et affiche les instructions source correspondantes; W : Ecrit le fichier en cours de mise au point sur disque; XA : Alloue de la mmoire pagine; XD : Dsactive l'allocation d'un descripteur de mmoire pagine; XM : Affecte des pages logiques aux pages physiques de la memoire paginee; XS : Affiche des informations sur l'etat de la memoire paginee;

Rsume des commandes reconnues par Debug et syntaxe

MNEMONIQUE

SYNTAXE

assemble (assembler) A [adresse] compare (comparer) C plage adresse dump (lister) D [plage] enter (entrer) E adresse [liste] fill (remplir) F plage liste go (executer) G [=adresse] [adresses] hex (hexadecimal) H valeur1 valeur2 input (entrer depuis un port) I port load (charger) L [adresse] [lecteur] [secteur] [nombre] move (dplacer) M plage adresse name (designer) N [nchemin] [listearg] output (envoyer sur port) O port val proceed (avancer) P [=adresse] [nbre] quit (quitter) Q register (registre) R [registre] search (rechercher) S plage liste trace (tracer) T [=adresse] [valeur] unassemble (dsassembler) U [plage] write (crire) W [adresse] [lecteur] [secteur] [nombre] allocate expanded memory (allouer EMS) XA [#pages] deallocate expanded memory (dsallouer EMS) XD [desc] map expanded memory pages (affecter) XM [pageL] [pageP] [desc] display expanded memory status (tat EMS) XS help debug (aide en ligne de Debug) ? Sparation des paramtres d'une commande Toutes les commandes de Debug acceptent des paramtres, l'exception de la commande Q. Vous pouvez sparer les paramtres par des virgules ou des espaces mais ces sparateurs ne sont requis qu'entre deux valeurs hexadcimales. En consquence, les commandes suivantes sont quivalentes: dcs:100 110 d cs:100 110 d,cs:100,110 Adresses valides Dans une commande de Debug, le paramtre adresse spcifie un emplacement en mmoire. L'adresse est une dsignation en deux parties contenant d'une part un nom de registre de segment ou un numro de segment sur quatre chiffres, d'autre part une valeur de dcalage. Le nom ou l'adresse du segment sont facultatifs. Le segment par dfaut pour les commandes A, G, L, T, U et W est CS. La valeur par dfaut pour les autres commandes est DS. Toutes les valeurs numriques sont en format hexadcimal. Exemples d'adresses valides

CS:0100 04BA:0100 Les deux points (:) entre le nom de segment et la valeur de dplacement sont requis. Plages valides Dans une commande de Debug, le paramtre plage spcifie une plage de mmoire. Vous avez le choix entre deux formats: une adresse de dbut et une adresse de fin, ou bien une adresse de dbut et la longueur (indique par L) de la plage. Par exemple, les deux syntaxes suivantes spcifient la plage de 16 octets qui commence a l'adresse CS:100: cs:100 10f cs:100 l 10

voici le lien pour avoir plus dinformation


http://1100f.free.fr/Batchs/la_commande_debug.htm

Comment le lancer Sous Windows On clique : Demarrer, on choisi tous les programmes, on selectionne accessoires et lance invite de commandes. On tape debug <enter> touche On aura : - on tape les ordres de bug ci dessus