Installation des outils de débogage pour Windows. Travailler avec la ligne de commande Windows, le programme Debug et son utilisation Installation des outils de débogage pour Windows via un fichier .msi

Déboguer.exe- un programme de débogage utilisé pour vérifier et déboguer les fichiers exécutables.

Utilisé avec le système d'exploitation MS-DOS . Pour les versions ultérieures des systèmes d'exploitation

fonctionne via un émulateur MS-DOS et a des capacités limitées. Appelé via la ligne de commande

DEBUG [[lecteur :][route]nom de fichier [options]].

Par exemple : DEBUG C:\...\My.com

Ce programme est une application console conçue pour créer ou modifier le code d'un fichier. Avec lui, vous pouvez créer des applications simples pour MS-DOS et surveiller leurs performances. Ce débogueur est au niveau le plus bas des compilateurs assembleur. Mais il possède d'assez bonnes capacités, telles que la visualisation et la modification de la mémoire, l'obtention de l'état des registres.

Commandes debug.exe

Règles pour le jeu de commandes debug.exe :

· Debug.exe n'est pas sensible à la casse.

· Les espaces dans les commandes sont utilisés uniquement pour séparer les paramètres.

· Les nombres saisis doivent être dans le système numérique hexadécimal, sans la lettre finale h.

· Le segment et le décalage s'écrivent à l'aide de deux-points, au format segment:offset, par exemple CS:3C1 (offset 3C1h dans un segment de code) ou 40:17 (offset 17h dans un segment dont l'adresse de début est 40h).

Une fois le débogueur chargé, une invite qui ressemble à un trait d’union apparaîtra à l’écran. Registres C.S., D.S., ES, SSà ce moment sont initialisés avec l'adresse du préfixe de 256 octets du segment de programme, et la zone de travail en mémoire débutera par l'adresse de ce préfixe + 100h. Équipes debug.exe sont inscrits immédiatement après l'invitation à l'endroit indiqué par le curseur. Chaque commande est constituée d'un identifiant et de paramètres, l'identifiant est constitué d'une lettre.

Tableau 1. Résumé de toutes les commandes debug.exe

Équipe Description Format
A (Assembler) Traduire les commandes assembleur en code machine ; l'adresse par défaut est CS:0100h. UN [<адрес_начала_кода>]
C (Comparer) Comparer le contenu de deux zones mémoire ; la valeur par défaut est DS. La commande spécifie soit la longueur des sections, soit la plage d'adresses. C<начальный_адрес_1>L<длина> <начальный_адрес_2>C<начальный_адрес_1> <конечный_адрес_1> <начальный_адрес_2>
D (Affichage/Dump) Affiche le contenu de la zone mémoire aux formats hexadécimal et ASCII. La valeur par défaut est DS ; vous pouvez spécifier la longueur ou la plage. D [<начальный_адрес>] D [adresse_début adresse_fin]
E (Entrer) Saisir des données ou des instructions de code machine en mémoire ; la valeur par défaut est DS. E [<адрес> [<инструкции/данные>]]
F (Remplir) Remplir la zone mémoire avec les données de la liste ; la valeur par défaut est DS. Vous pouvez utiliser à la fois la longueur et la plage. F<начальный_адрес_1>L<длина> "<данные>" F<начальный_адрес> <конечный_адрес> "<данные>"
G (Aller) Exécute un programme en langage machine débogué jusqu'à un point d'arrêt spécifié ; la valeur par défaut est CS. Assurez-vous que l'adresse IP contient la bonne adresse. G[=<начальный_адрес>] <адрес_останова> [<адрес_останова> ...]
H (hexadécimal) Calculez la somme et la différence de deux valeurs hexadécimales. H<величина_1> <величина_2>
Je (Entrée) Lit et génère un octet du port. je<адрес_порта>
L (charge) Chargement d'un fichier ou de données à partir de secteurs de disque en mémoire ; la valeur par défaut est CS:100h. Le fichier peut être spécifié à l'aide de la commande N ou d'un argument lors de l'exécution de debug.exe. L [<адрес_в_памяти_для_загрузки>] L [<адрес_в_памяти_для_загрузки> [<номер_диска> <начальный_сектор> <количество_секторов>]]
M (Déplacer) Copier le contenu des cellules mémoire ; la valeur par défaut est DS. Vous pouvez spécifier à la fois la longueur et la plage. M<начальный_адрес>L<длина> <адрес_назначения>M<начальный_адрес> <конечный_адрес> <адрес_назначения>
N (Nom) Spécification du nom de fichier pour les commandes L et W. N<имя_файла>
O (Sortie) Envoi d'un octet à un port. Ô<адрес_порта> <байт>
P (procédure) Exécute une instruction CALL, LOOP, INT ou une chaîne répétable avec les préfixes REPnn, en passant à l'instruction suivante. P[=<адрес_начала>] [<количество_инструкций>]
Q (Quitter) Arrêt de debug.exe. Q
R (S'inscrire) Imprime le contenu des registres et l'instruction suivante. R.<имя_регистра>
S (Recherche) Rechercher en mémoire les caractères de la liste ; la valeur par défaut est DS. Vous pouvez spécifier à la fois la longueur et la plage. S<начальный_адрес>L<длина> "<данные>"S<начальный_адрес> <конечный_адрес> "<данные>"
T (Trace) Exécution étape par étape du programme. Comme la commande P, la paire par défaut est CS:IP. Notez que pour effectuer des interruptions, il est préférable d'utiliser la commande P. T[=<адрес_начала>] [<количество_выполняемых_команд>]
U (non assemblé) Démontage du code machine ; la valeur par défaut est la paire CS:IP. Malheureusement, debug.exe ne désassemble pas correctement les commandes spécifiques pour les processeurs 80286+, bien qu'elles s'exécutent toujours correctement. Vous [<начальный_адрес>] U [<начальный_адрес конечный_адрес>]
W (écrire) Écrivez un fichier à partir de debug.exe ; Il est nécessaire de préciser le nom du fichier avec la commande N s'il n'a pas été chargé. Et les programmes sont enregistrés uniquement sous forme de fichiers .COM ! W [<адрес> [<номер_диска> <начальный_сектор> <количество_секторов>]]


Afficher les zones de mémoire

Regardons de plus près le travail de l'équipe D, qui vous permet de visualiser le contenu des zones de mémoire individuelles. Cet exemple utilise la commande D pour visualiser la zone mémoire à partir de 0159:0240 :

Ici, en réponse à une demande de visualisation d'une zone mémoire, nous avons reçu huit lignes indiquant le contenu de la zone mémoire sélectionnée. Chaque ligne se compose de trois parties :

· Adresse du premier octet affiché à gauche au format segment:décalage.

· Représentation hexadécimale d'un paragraphe (16 octets), commençant par l'octet spécifié au début de la ligne.

· Caractères du même paragraphe au format ASCII.

L'adresse spécifiée dans la ligne fait exclusivement référence au premier octet du paragraphe et les adresses des octets suivants doivent être calculées indépendamment. La représentation hexadécimale contient deux caractères dans chaque octet, et les octets eux-mêmes sont séparés par des espaces pour les rendre plus faciles à lire. De plus, il convient de noter que les huitième et neuvième octets sont séparés par un trait d'union, divisant ainsi le paragraphe en deux parties et facilitant le calcul des adresses des octets dans le paragraphe.

Astuces utiles de la D-Team

Vérification des ports parallèles et série

Les 16 premiers octets de la zone de données du BIOS contiennent les adresses des ports parallèle et série. Par conséquent, à l’aide de la commande suivante, vous pouvez vérifier ces ports :

Les huit premiers octets imprimés indiquent les adresses du port série COM1-COM4. Les 8 octets suivants indiquent les adresses des ports parallèles LPT1-LPT4. Par exemple, si votre ordinateur dispose d'un port parallèle, les deux premiers octets seront probablement : 7803. L'adresse du port est écrite dans l'ordre inverse, c'est-à-dire 0378.

Vérification de l'équipement

Les deux premiers octets, situés dans le BIOS à l'adresse 410h, contiennent des informations sur le matériel installé dans le système. On retrouve ces octets avec la commande :

Supposons que les deux premiers octets soient 23 44. Déchiffrons ces octets pour obtenir des informations sur les périphériques installés. Pour ce faire, inversons ces octets (44 23), puis convertissons-les en système de nombres binaires. On a:

Valeur binaire
Position des bits

Que signifient ces bits ? Continuons à décrypter :

Vérification de l'état du registre du clavier

Dans la zone de données BIOS par l'adresse 417h Le premier octet est localisé, qui stocke l'état du registre du clavier. Éteindre Verrouillage numérique Et Verrouillage des majuscules, puis tapez la commande :

Le premier octet sera 00. En allumant Verrouillage numérique Et Verrouillage des majuscules, exécutez à nouveau la commande. Le premier octet devrait maintenant être égal à 60. Il a été établi expérimentalement que lorsqu'il est activé Verrouillage numérique le premier octet est 20, et quand Verrouillage des majuscules - 40.

Vérification de l'état du système vidéo

Par l'adresse 449h V BIOS est la première zone de données vidéo. Pour vérifier on tape :

Le premier octet indique le mode vidéo actuel (par exemple, 03 - couleur) et le second - le nombre de colonnes (par exemple, 50 - 80 modes colonnes). Le nombre de lignes peut être trouvé sur 484h (40:84).

Vérification des droits d'auteur et du numéro de série du BIOS

Informations sur les droits d'auteur pour BIOS construit dans BIOS ROM par l'adresse FE00:0. La ligne de copyright peut être facilement trouvée dans la séquence ASCII et le numéro de série peut être trouvé sous forme de nombre hexadécimal. Cependant, la ligne de copyright peut être longue et ne pas rentrer dans la zone mémoire allouée. Dans ce cas, il vous suffit de saisir à nouveau D.

Vérification de la date de fabrication du BIOS

Cette date est également enregistrée dans BIOS ROMà partir de l'adresse FFF : 5. Après avoir exécuté la commande correspondante, la séquence ASCII contiendra cette date, écrite au format mm/jj/aa.

Insérer un programme directement en mémoire à l'aide de debug.exe

debug.exe permet de saisir un programme directement dans la mémoire de la machine, puis de surveiller et contrôler son exécution. Nous entrerons le programme dans les codes machine à l'aide de la commande E. Soyez prudent cependant - Saisir des données incorrectes à la mauvaise adresse est lourd de conséquences imprévisibles ! Même s'il est peu probable que cela entraîne de graves problèmes dans le système, la perte de toutes les données saisies dans debug.exe, vous pouvez facilement. Le programme à saisir utilise les données contenues directement dans le corps de l'instruction. Ce qui suit est une liste du programme en langage Assembly, les commentaires indiquent des analogues des commandes de langage dans le code machine, ainsi qu'une explication de chaque commande. Notez qu'il n'y a aucun symbole dans les chiffres h, car, comme indiqué ci-dessus, debug.exe ne comprend que les nombres dans le système hexadécimal.

MOV AX, 0123 ; code B82301 : saisir la valeur 0123h dans AX

AJOUTER AX, 0025 ; code 052500 : ajouter 0225h à la valeur AX

MOUVEMENT BX, AX ; code 8BD8 : saisir la valeur de AX dans BX

AJOUTER BX, AX ; code 03D8 : ajouter la valeur de AX à BX

MOUVEMENT CX, BX ; code 8BCB : entrez la valeur de BX dans CX

SOUS CX, AX ; code 2BC8 : soustraire la valeur de AX de CX

SOUS-AXE, AXE ; code 2BC0 : effacer AX

JMP100 ; Code EBEE : aller au début du programme

Comme vous pouvez le constater, chaque instruction machine a une longueur de 1 à 3 octets. Le premier octet indique l'opération, les octets suivants indiquent ses opérandes. L'exécution du programme commence en conséquence par la première instruction et parcourt séquentiellement toutes les instructions les unes après les autres. Vous pouvez maintenant entrer le programme en mémoire. Divisons le code machine en trois parties de six octets et saisissons chacune à l'aide de la commande E et à partir de l'adresse CS:100.

Maintenant que le programme est entré en mémoire, essayons de contrôler son exécution. Tout d'abord, vérifions l'état actuel des registres et des drapeaux ; pour ce faire, entrez la commande R.. Le débogueur affichera le contenu des registres sous forme hexadécimale ; Le contenu des registres peut varier selon les machines.

Donc, comme vous pouvez le constater, debug.exe segments initialisés D.S., ES, SS, C.S. la même adresse. Registre PI contient 0100 , indiquant que les instructions sont exécutées à partir du décalage 100h relativement C.S.(et nous, entrant les instructions en mémoire, venons d'indiquer cette adresse).

Les valeurs des drapeaux de débordement, de direction, d'interruption, de signe, de zéro, de report supplémentaire, de parité et de report sont également indiquées ici :

Après les registres et les états des drapeaux, debug.exe affiche des informations sur la première instruction qui sera exécutée :

· L'adresse de l'instruction, dans notre cas c'est 0B12:0100, où 0B12 est l'adresse du segment de code.

· Code machine correspondant à cette instruction (B82301).

· L'instruction réelle écrite en assembleur (MOV AX,0123).

Maintenant, après avoir analysé le contenu des registres et des drapeaux, passons à l'exécution du programme. Nous exécuterons le programme étape par étape en utilisant la commande T. Utiliser la commande pour la première fois T, nous suivons les instructions MOV. Voici le code machine de l'opérande d'instruction - 2301 . Les lieux d'opération 23 V AL(moitié plus jeune HACHE), UN 01 -V A.H.(plus vieux). Après cela debug.exe imprime à nouveau les informations du registre :

Maintenant HACHE contient 01h23, PI0103h(d'où la longueur de l'instruction exécutée : 0103h - 01h00 = 3 octets), et l'instruction suivante spécifie l'opération AJOUTER. Donc, encore et encore, exécuter la commande T, nous arriverons à la dernière instruction JMP100. Elle établira le registre PI V 100h, Et debug.exe reviendra au début du programme. Revenant au début du programme, il convient de noter qu'en D.S., ES, SS Et C.S. contient la même adresse. Le fait est que debug.exe traite les programmes saisis uniquement comme des programmes .COM. Et dans les programmes .COM, Contrairement à .EXE,la pile, le code et les données sont stockés dans un seul segment.

Montage et démontage

Dans l'exemple précédent, nous avons saisi le programme en code machine, cependant, debug.exe entièrement capable de comprendre des instructions écrites en langage assembleur. Pour travailler avec de tels programmes dans debug.exe les commandes sont utilisées UN Et U.

Équipe UN demande des instructions en langage assembleur et les convertit en code machine. Tout d'abord, nous initialisons l'adresse de départ pour la saisie des instructions (100h) :

Le débogueur imprimera l'adresse et le décalage du segment de code (par exemple, 13F2:0100). Nous devons maintenant entrer en mémoire les instructions suivantes du langage assembleur, après chaque ligne en appuyant sur Entrer:

Après avoir entré la dernière instruction, appuyez sur Entrer deux fois pour indiquer au débogueur que nous avons fini de taper le texte du programme. Le programme peut maintenant être lancé à l'aide des commandes R. pour consulter les registres et T pour le traçage. Je note que dans mes programmes, s'il y a des instructions INT ils ne doivent pas être traités par commande T, et l'équipe P., qui gère toutes les interruptions en même temps.

Passons à la procédure de démontage, et prenons comme exemple le programme que nous venons de présenter. Nous utilisons les adresses de la première et de la dernière instruction pour indiquer la gamme que nous allons démonter, c'est-à-dire 100h Et 107h.

Après avoir exécuté cette commande debug.exe affichera les instructions dans la plage spécifiée, en langage assembleur, en code machine, ainsi que l'adresse de chaque instruction :

Enregistrer le programme sur le disque

Tout d'abord, le nom du fichier est défini :

Puis au registre CX vous devez mettre la taille du programme en octets. Il sera égal à la différence entre les déplacements final et initial. Il ne reste plus qu'à écrire sur le disque avec la commande W et par conséquent voir le nombre d'octets écrits. En conséquence, nous obtenons un programme prêt à être exécuté.

La sortie s'effectue par la commande q. Exemple:

0B3B:0100 mouvement hache,1234

0B3B:0103 mouvement ah, 4c

0B3B:0105 entier 21

0B3B:0100 B83412 MOV AX,1234

0B3B:0103 B44C MOUVEMENT AH,4C

0B3B:0105 CD21 INT 21

AX=0000 BX=0000 CX=0007 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000

DS=0B3B ES=0B3B SS=0B3B CS=0B3B IP=0100 NV UP EI PL NZ NA PO NC

0B3B:0100 B83412 MOV AX,1234

Écrire 00007 octets

Pour réaliser cet atelier, vous aurez besoin de plusieurs commandes assembleur :

MOUVEMENT AH,<шестнадцатиричное число>- inscription au registre A.H. Nombres 02 pour indiquer une fonction du système - afficher le symbole sur l'écran ;

MOV DL,<шестнадцатиричное число>- inscription au registre D.L. code de caractère ;

INT 21 est l'interruption (procédure) principale du DOS qui implémente de nombreuses fonctions différentes ; le numéro de fonction est écrit à l'avance dans le registre AH ; pour imprimer un caractère sur l'écran - dans le registre AH, fonction 02, alors qu'en D.L. pré-écrire le code du symbole.

INT 20 - Interruption DOS, qui quitte le programme (à partir d'un programme COM).

Exemple:

Afficher le symbole "*" sur l'écran.

mouvement AH,02 ; fonction système 02 - affichage d'un symbole sur l'écran

mouvement DL,2A ; Code ASCII pour l'astérisque

int 21h ; interruption pour la sortie "*"

int 20h ; quitter le programme

Tâche pratique

Cible

Présentation du débogueur debug.exe. Acquérir des compétences pratiques en travaillant avec ce programme.

Équipement:

Un ordinateur personnel exécutant le système d'exploitation Windows.

Logiciel:

Programme de débogage.

Questions d'admission

1. A quoi sert le programme Debug ?

2. Comment exécuter ce programme ?

3. Comment les commandes sont-elles saisies dans Debug ?

4. Qu'est-ce qu'une pièce d'identité ?

5. Comment un programme est-il entré dans Debug ?

Exercice

· Étudier le matériel théorique.

· Exécutez les commandes décrites tout au long du texte.

· Trouver la somme et la différence de 2 nombres : le 1er chiffre est le chiffre du groupe (converti sous forme hexadécimale), le 2ème est le chiffre opposé au chiffre de la première lettre du nom de famille dans l'alphabet (chiffre négatif en code complémentaire) . Convertissez la somme et la différence sous forme décimale.

· Visualisez le contenu des registres du microprocesseur, ainsi que les indicateurs, et notez-les dans le protocole. Quelle fonction remplit chaque registre ? .

· Écrivez le premier numéro (de la tâche 3) dans le registre AX et le deuxième numéro (de la tâche 3) dans le registre BX. Entrez l'instruction machine pour ajouter les registres AX et BX dans le segment de code RAM (décalage 100). Affichez son formulaire assembleur à l'écran. Exécutez cette commande et convertissez le résultat sous forme décimale.

· Entrez dans la RAM dans le segment de code (offset 100) un ensemble de commandes assembleur pour imprimer un caractère à l'écran - la première lettre de votre nom de famille. Vérifiez le programme dans DEBUG. Ensuite, écrivez-le sur le disque sous forme de fichier .COM. Quelle est la taille du programme ? Exécutez-le depuis DOS.

· Décrivez toutes les actions dans le rapport.

1. Titre de l'ouvrage.

2. Objectif du travail.

3. Instruments et équipements.

4. Brèves informations théoriques.

5. Description des actions entreprises.

6. Texte du programme créé.

7. Conclusions.

Questions de contrôle

1. Quelle commande entre les données du code machine ou les instructions en mémoire ?

2. Comment comparer le contenu de deux zones mémoire ?

3. Comment remplir la zone mémoire avec les données de la liste ?

4. Quelle commande exécute un programme débogué en langage machine ?

5. Quelle commande écrit un fichier à partir du débogage ?

6. Comment s’effectue le montage et le démontage ?

Un pilote est essentiellement un lien entre le système d'exploitation, c'est-à-dire le logiciel et le matériel, c'est-à-dire les périphériques physiques tels que les cartes vidéo, les imprimantes, les processeurs, etc. Le système d'exploitation peut contenir des pilotes de base pour les périphériques les plus nécessaires - souris, clavier, mais tout le reste nécessitera de nouveaux pilotes.

Comment installer le pilote ?

1. Le moyen le plus simple, s'il existe un fichier d'installation, il vous suffit de l'exécuter et de suivre les instructions du programme d'installation.
2. Si aucun programme d'installation n'est disponible et qu'il n'y a que des fichiers avec les extensions *.inf, *.dll, *.vxt, *.sys, *.drv., alors l'algorithme d'actions devrait être approximativement le suivant :

a) Vous devez d'abord sélectionner l'icône ( Mon ordinateur) et faites un clic droit dessus, sélectionnez ( Propriétés).

b) Allez maintenant dans l'onglet ( Équipement) et appuie sur le bouton ( Gestionnaire de périphériques).

c) Vous devez maintenant sélectionner le périphérique pour lequel le pilote sera installé/mis à jour. Sur la ligne avec l'appareil, vous devez faire un clic droit et sélectionner ( Propriétés), ou vous pouvez simplement double-cliquer dessus pour accéder aux paramètres souhaités.


d) Allez dans l'onglet ( Conducteur), sélectionnez le bouton ( Mise à jour).

e) Dans la boîte de dialogue qui apparaît, sélectionnez l'élément ( Non pas cette fois) et allez à ( Plus loin).

f) À ce stade, il existe deux options. Vous pouvez essayer d'installer les pilotes automatiquement, puis le système d'exploitation lui-même essaiera de trouver les pilotes adaptés au périphérique et de les installer, pour cela nous sélectionnons ( Installation automatique (recommandée)) , si la tentative échoue, vous devez alors passer au deuxième point ( Installation à partir d'un emplacement spécifié) et sélectionnez ( Plus loin).


g) Cet élément de menu implique un choix entre la recherche d'un pilote sur un support amovible et la possibilité de spécifier vous-même le dossier contenant le pilote. Par conséquent, si vous disposez d'un disque avec des pilotes, vous devez insérer le disque dans le CD-ROM et sélectionner l'option ( Recherche sur supports amovibles (disquettes, CD...)) et aller ( Plus loin).

Si le pilote est trouvé et téléchargé vous-même sur Internet, vous devez spécifier manuellement le chemin d'accès au dossier dans lequel se trouvent les données d'installation du pilote comme suit. Sélectionnez l'élément ( Incluez l'emplacement de recherche suivant :) et allez à ( Revoir), sélectionnez maintenant le dossier contenant le pilote dans la liste et cliquez sur le bouton ( D'ACCORD). Maintenant, nous passons hardiment à autre chose ( Plus loin), si tout est fait correctement, l'installation du pilote nécessaire commencera.

Android Debug Bridge (adb) est un programme console qui vous permettra de déboguer les appareils mobiles Android, ainsi que les émulateurs.

Description

Cet utilitaire simplifie grandement l'installation et le débogage des applications, et donne également accès au shell Unix. Ce dernier peut être utilisé pour exécuter les commandes nécessaires sur l'appareil. Entre autres choses, le programme peut être utilisé pour déverrouiller un smartphone avec le mode débogage activé. Il convient toutefois de noter qu'Android Debug Bridge prend en charge le fonctionnement avec tous les appareils Android, à condition que les fonctionnalités nécessaires n'aient pas été bloquées par le fabricant.

Le programme comprend trois volets :

  • Client. Fonctionne sur le PC du développeur et envoie des commandes. Pour appeler le client, vous pouvez utiliser la commande appropriée dans le terminal.
  • Démon (adbd). Exécute les commandes sur l'appareil. Fonctionne en arrière-plan sur chaque appareil.
  • Serveur. Contrôle l'interaction entre le client et le démon. S'exécute en arrière-plan sur l'ordinateur du développeur.

Caractéristiques de la BAD :

  • Afficher une liste des appareils connectés et pris en charge.
  • Regardes les connexions.
  • Copiez et transférez des données et des fichiers entre appareils.
  • Installation et désinstallation d'applications.
  • Effacement et écrasement de la section de données.
  • Et bien plus encore.

Depuis notre site Web, vous pouvez télécharger Android Debug Bridge entièrement gratuitement, sans inscription ni SMS.

Captures d'écran

Outils de débogage pour Windows- Outils de débogage du code des systèmes d'exploitation Windows. Il s'agit d'un ensemble de programmes distribués gratuitement par Microsoft, conçus pour déboguer le code du mode utilisateur et du mode noyau : applications, pilotes, services, modules du noyau. La boîte à outils comprend des débogueurs en mode console et GUI, des utilitaires pour travailler avec des symboles, des fichiers, des processus et des utilitaires pour le débogage à distance. La boîte à outils contient des utilitaires qui peuvent être utilisés pour rechercher les causes des pannes de divers composants du système. Outils de débogage pour Windowsà partir d'un certain point, ne sont plus disponibles au téléchargement sous la forme d'une distribution autonome et font partie du Windows SDK (Windows Software Development Kit). Le SDK Windows, quant à lui, est disponible dans le cadre du programme d'abonnement MSDN ou peut être téléchargé gratuitement en tant que distribution distincte à partir de msdn.microsoft.com. Selon les développeurs, la version la plus récente et la plus récente des outils de débogage pour Windows est contenue dans le SDK Windows.

Les outils de débogage pour Windows sont mis à jour et rendus publics assez souvent et ce processus ne dépend en aucun cas de la version des systèmes d'exploitation. Par conséquent, vérifiez périodiquement les nouvelles versions.

Voyons maintenant ce que nous permettent notamment de faire les outils de débogage pour Microsoft Windows :

  • Déboguer les applications, services, pilotes et noyau locaux ;
  • Déboguer les applications, services, pilotes et noyau distants sur le réseau ;
  • Déboguer les applications en cours d'exécution en temps réel ;
  • Analyser les fichiers de vidage mémoire des applications, du noyau et du système dans son ensemble ;
  • Travailler avec des systèmes basés sur des architectures x86/x64/Itanium ;
  • Déboguer les programmes en mode utilisateur et en mode noyau ;

Les versions suivantes des outils de débogage pour Windows sont disponibles : 32 bits x86, Intel Itanium, 64 bits x64. Nous en aurons besoin de deux : x86 ou x64.

Il existe plusieurs façons d'installer les outils de débogage pour Windows ; dans cet article, nous ne considérerons que les principales :

  • Installation via l'installateur Web.
  • Installation des outils de débogage pour Windows à partir de l’image ISO du SDK Windows.
  • Installation des outils de débogage pour Windows directement à partir des packages dbg_amd64.msi / dbg_x86.msi.

On ne sait pas encore à quel moment pourquoi devrais-je installer des outils de débogage sur mon ordinateur ? Vous êtes souvent confronté à une situation où l'interférence dans l'environnement de travail est extrêmement indésirable ! Et plus encore, installer un nouveau produit, c'est-à-dire apporter des modifications aux fichiers de registre/système, peut être totalement inacceptable. Les exemples incluent les serveurs critiques. Pourquoi les développeurs n'envisagent-ils pas l'option de versions portables d'applications qui ne nécessitent pas d'installation ?
De version en version, le processus d'installation du package Debugging Tools for Windows subit quelques modifications. Passons maintenant directement au processus d'installation et examinons les manières dont vous pouvez installer la boîte à outils.

Installation des outils de débogage pour Windows à l'aide du programme d'installation Web

Accédez à la page Windows SDK Archive et recherchez une section intitulée Windows 10 et sous l'élément « SDK Windows 10 (10586) et émulateur de périphérique avec Windows 10 Mobile (Microsoft) (version 10586.11) ».

Cliquez sur l'article INSTALLER LE SDK. Après avoir cliqué, téléchargez et exécutez le fichier sdksetup.exe, qui lance le processus d'installation en ligne du SDK Windows. Au stade initial, le programme d'installation vérifiera si la dernière version du package .NET Framework est installée sur le système (actuellement 4.5). Si le package est manquant, l'installation vous sera proposée et la station redémarrera une fois terminée. Immédiatement après le redémarrage, au stade de l'autorisation de l'utilisateur, le processus d'installation du SDK Windows lui-même démarre.

Souvent, lors de la sélection de tous les composants d'un package sans exception, des erreurs peuvent survenir lors du processus d'installation. Dans ce cas, il est recommandé d'installer les composants de manière sélective, l'ensemble minimum requis.

Une fois l'installation des outils de débogage pour Windows terminée, l'emplacement des fichiers de débogage pour cette méthode d'installation sera le suivant :

  • Versions 64 bits : C:\Program Files (x86)\Windows Kits\x.x\Debuggers\x64
  • Versions 32 bits : C:\Program Files (x86)\Windows Kits\x.x\Debuggers\x86

* où x.x est une version spécifique du kit de développement ;
Avez-vous remarqué que dans les versions 8 et supérieures, les chemins d'installation sont sensiblement différents des outils de débogage classiques pour toutes les versions précédentes ?

Un énorme avantage de cette méthode d'installation des outils de débogage pour Windows est l'installation de versions d'outils de débogage pour toutes les architectures à la fois.

Installation des outils de débogage pour Windows à partir de l'ISO du SDK Windows

Cette méthode implique l'installation des outils de débogage pour Windows à l'aide de l'image d'installation complète du SDK Windows (Software Developers Kit). Jusqu'à un certain temps, vous pouvez télécharger une image ISO pour le système correspondant sur la page Windows SDK Archive. Cependant, pour le moment, vous pouvez obtenir une image ISO du SDK en exécutant le programme d'installation Web sdksetup.exe et en sélectionnant Téléchargez le kit de développement logiciel Windows dans la fenêtre de démarrage du programme d'installation :

Comme nous l'avons découvert, la méthode d'installation précédente utilisant un installateur Web est assez capricieuse et se termine souvent par une erreur. Sur des systèmes propres, il s'installe sans problème, mais sur des systèmes suffisamment chargés, de nombreux problèmes surviennent. Si tel est votre cas, utilisez cette méthode.

En conséquence, sur la page, vous devez sélectionner la distribution requise, pour moi (et je pense pour beaucoup) pour le moment, il s'agit du « SDK Windows pour Windows 7 et .NET Framework 4 » et juste en dessous, cliquez sur le lien « Obtenir un ISO image d’un DVD” .

Lorsque vous travaillez avec le site msdn.microsoft.com, je vous conseille d'utiliser le navigateur Internet Explorer, car des cas d'inopérabilité de produits concurrents ont été observés !

Il faut donc choisir uniquement en fonction de la nécessité. En règle générale, le nombre de bits des outils de débogage pour Windows correspond au nombre de bits du système. Mes systèmes sont pour la plupart 64 bits, donc dans la plupart des cas, je télécharge l'image pour un système 64 bits GRMSDKX_EN_DVD.iso.
Ensuite, après avoir téléchargé l'image, nous devons travailler d'une manière ou d'une autre avec l'image ISO existante. La méthode traditionnelle consiste bien sûr à graver un CD, mais c'est une méthode assez longue et parfois coûteuse. Je suggère d'utiliser des utilitaires gratuits pour créer des périphériques de disque virtuel dans le système. Personnellement, je préfère utiliser DEAMON Tools Lite à cet effet. Quelqu'un peut avoir d'autres préférences, des utilitaires plus directs ou légers, selon les goûts et la couleur, comme on dit. Après avoir installé DAEMON Tools Lite, je double-clique simplement sur le fichier image GRMSDKX_EN_DVD.iso et un nouveau fichier virtuel apparaît dans le système. CD:

Puis, en double-cliquant, j'active le chargement automatique et lance l'installation du SDK Windows :

Lorsqu'il est temps de sélectionner les composants à installer dans la liste, nous désactivons absolument toutes les options à l'exception de celles marquées dans la capture d'écran. Cela nous aidera à éviter des erreurs inutiles maintenant.


Tout est exactement comme ça, dans la capture d'écran, il y a deux options marquées : « Windows Performance Toolkit » et « Outils de débogage pour Windows ». Choisissez les deux, car Windows Performance Toolkit vous sera certainement utile dans votre travail ! Puis, après avoir cliqué sur le bouton « Suivant », l'installation se poursuit comme d'habitude. Et à la fin, vous verrez l'inscription « Installation terminée ».
Une fois l'installation terminée, les répertoires de travail du package Debugging Tools for Windows seront les suivants :

  • Pour la version x86 :
  • Pour la version x64 :

À ce stade, l'installation des outils de débogage pour Windows peut être considérée comme terminée.

Installation des outils de débogage pour Windows via le fichier .msi

Si des problèmes surviennent lors de l'installation des outils de débogage pour Windows à l'aide des deux méthodes précédentes, nous en avons encore une en stock, la plus fiable et la plus éprouvée, qui nous a aidé, pour ainsi dire, plus d'une fois. Il était une fois, avant l'intégration dans le SDK Windows, les outils de débogage pour Windows étaient disponibles sous la forme d'un installateur.msi distinct, que l'on peut encore trouver, mais déjà dans les entrailles de la distribution du SDK Windows. Puisque nous avons déjà une image ISO du SDK Windows entre nos mains, nous ne pouvons pas la monter dans le système, mais simplement l'ouvrir à l'aide de l'archiveur WinRAR déjà bien connu, ou de tout autre produit fonctionnant avec le contenu des disques ISO.

Après avoir ouvert l'image, il faut se rendre dans le répertoire « Setup » situé à la racine puis sélectionner l'un des répertoires :

  • Pour installer la version 64 bits : \Configuration\WinSDKDebuggingTools_amd64 et décompressez le fichier dbg_amd64.msi de ce répertoire.
  • Pour installer la version 32 bits : \Setup\WinSDKDebuggingTools et décompressez le fichier dbg_x86.msi de ce répertoire.

Une fois l'installation terminée, les répertoires de travail du package Debugging Tools for Windows seront les suivants :

  • Pour la version x86 : C:\Program Files (x86)\Outils de débogage pour Windows (x86)
  • Pour la version x64 : C:\Program Files\Outils de débogage pour Windows (x64)

À ce stade, l'installation des outils de débogage pour Windows peut être considérée comme terminée.

Informations Complémentaires

Je ne sais pas à quoi cela est lié, peut-être à cause de ma négligence, mais après avoir installé les outils de débogage pour Windows, le programme d'installation ne définit pas le chemin d'accès au répertoire avec le débogueur dans la variable de chemin système Path. Cela impose certaines restrictions sur le lancement de diverses tâches de débogage directement depuis la console. Par conséquent, s'il n'y a pas de chemin, j'écris indépendamment dans la fenêtre Variables d'environnement chemin vers les outils de débogage :

  • C:\Program Files (x86)\Windows Kits\10\Debuggers\x86
  • C:\Program Files (x86)\Windows Kits\10\Debuggers\x64

* Dans votre cas, les chemins peuvent différer à la fois en raison de l'utilisation d'un système d'exploitation d'une taille de bit différente et en raison de l'utilisation d'une version différente du SDK.

Les utilitaires du package Debugging Tools for Windows peuvent fonctionner comme des applications portables ; il vous suffit de copier le répertoire du système d'exploitation. Boîte à outils de performances Microsoft Windows et utilisez-le en version portable sur un serveur de production. Mais n'oubliez pas de prendre en compte la capacité du système !! Même si vous avez terminé une installation complète du package sur un système critique, vous pouvez commencer à travailler juste après l'installation, aucun redémarrage n'est requis.

Composition des outils de débogage pour Windows

Et maintenant, enfin, voici la composition des outils de débogage pour Windows :

Déposer But
adplus.doc Documentation pour l'utilitaire ADPlus.
adplus.exe Une application console qui automatise le travail du débogueur cdb pour créer des dumps et des fichiers journaux pour un ou plusieurs processus.
agestore.exe Un utilitaire permettant de supprimer les fichiers obsolètes du stockage utilisé par un serveur de symboles ou un serveur source.
breakin.exe Un utilitaire qui vous permet d'envoyer une combinaison de pauses personnalisée aux processus, semblable à appuyer sur CTRL+C.
cdb.exe Débogueur de console en mode utilisateur.
convertstore.exe Un utilitaire pour convertir des symboles de 2 niveaux à 3 niveaux.
dbengprx.exe Répéteur (serveur proxy) pour le débogage à distance.
dbgrpc.exe Un utilitaire pour afficher les informations sur l'état des appels RPC.
dbgsrv.exe Processus serveur utilisé pour le débogage à distance.
dbh.exe Un utilitaire pour afficher des informations sur le contenu d'un fichier de symboles.
dumpchk.exe Utilitaire de vérification des dumps. Un utilitaire pour vérifier rapidement un fichier de vidage.
dumpexam.exe Un utilitaire pour analyser un vidage mémoire. Le résultat est affiché dans %SystemRoot%\MEMORY.TXT .
gflags.exe Éditeur de drapeaux système globaux. L'utilitaire gère les clés de registre et d'autres paramètres.
i386kd.exe Emballage pour kd. Était-ce ainsi que kd était autrefois appelé pour les systèmes basés sur Windows NT/2000 pour les machines x86 ? Probablement laissé pour des raisons de compatibilité.
ia64kd.exe Emballage pour kd. S'appelait-il autrefois kd pour les systèmes basés sur Windows NT/2000 pour les machines ia64 ? Probablement laissé pour des raisons de compatibilité.
kd.exe Débogueur de console en mode noyau.
kdbgctrl.exe Outil de gestion du débogage du noyau. Un utilitaire pour gérer et configurer la connexion de débogage du noyau.
kdsrv.exe Serveur de connexion pour KD. L'utilitaire est une petite application qui s'exécute et attend les connexions à distance. kd s'exécute sur le client et se connecte à ce serveur pour le débogage à distance. Le serveur et le client doivent provenir du même assembly d’outils de débogage.
tuer.exe Un utilitaire pour mettre fin aux processus.
liste.exe Un utilitaire pour afficher le contenu d'un fichier à l'écran. Cet utilitaire miniature a été inclus dans un seul but : afficher des fichiers texte ou journaux volumineux. Il prend peu d'espace mémoire car il charge le texte par parties.
logger.exe Un débogueur miniature qui ne peut fonctionner qu'avec un seul processus. L'utilitaire injecte logexts.dll dans l'espace de processus, qui enregistre tous les appels de fonction et autres actions du programme étudié.
logviewer.exe Un utilitaire pour afficher les journaux enregistrés par le débogueur logger.exe.
ntsd.exe Débogueur symbolique Microsoft NT (NTSD). Un débogueur identique à cdb sauf qu'il crée une fenêtre de texte au lancement. Comme cdb, ntsd est capable de déboguer à la fois les applications console et les applications graphiques.
pdbcopy.exe Un utilitaire pour supprimer les symboles privés d'un fichier de symboles, contrôlant les symboles publics inclus dans le fichier de symboles.
distant.exe Un utilitaire pour le débogage à distance et le contrôle à distance de n'importe quel débogueur de console KD, CDB et NTSD. Vous permet d'exécuter tous ces débogueurs de console à distance.
rtlist.exe Visionneuse de tâches à distance. L'utilitaire est utilisé pour afficher une liste des processus en cours d'exécution via le processus du serveur DbgSrv.
symchk.exe Un utilitaire permettant de télécharger des symboles depuis le serveur de symboles Microsoft et de créer un cache de symboles local.
symstore.exe Un utilitaire pour créer un réseau ou un stockage de symboles local (2 niveaux/3 niveaux). Le stockage de symboles est un répertoire spécialisé sur disque, construit selon une structure spécifique et contenant des symboles. Une structure de sous-dossiers aux noms identiques aux noms des composants est créée dans le répertoire racine des symboles. À leur tour, chacun de ces sous-dossiers contient des sous-dossiers imbriqués portant des noms spéciaux obtenus en hachant des fichiers binaires. L'utilitaire symstore analyse les dossiers de composants et ajoute de nouveaux composants au magasin de symboles, où n'importe quel client peut les récupérer. On dit que symstore est utilisé pour recevoir des symboles d'un stockage de niveau 0 et les placer dans un stockage à 2/3 niveaux.
tlist.exe Visionneuse de tâches. Un utilitaire pour afficher une liste de tous les processus en cours d'exécution.
umdh.exe Utilitaire de tas de vidage en mode utilisateur. Un utilitaire pour analyser les tas du processus sélectionné. Vous permet d'afficher divers paramètres pour le tas.
usbview.exe Visionneuse USB. Un utilitaire pour visualiser les périphériques USB connectés à un ordinateur.
vmdemux.exe Démultiplexeur de machine virtuelle. Crée plusieurs canaux nommés pour une connexion COM. Les canaux sont utilisés pour déboguer divers composants de machine virtuelle
Windbg.exe Débogueur en mode utilisateur et en mode noyau avec interface graphique.
Lancez Debug.exe, un programme de vérification et de débogage des fichiers exécutables MS-DOS. Commande exécutée sans paramètres déboguer lance Debug.exe et affiche une invite de commande déboguer, représenté par un trait d'union (-).


1)
Lancez Virtual PC 2007 avec l'image Windows XP. Basculez le système d’exploitation en mode ligne de commande.

Démarrer -> Exécuter -> Tapez cmd et appuyez sur Entrée.


2)
Obtenir et capturer de l'aide sur les options de commande de débogage

Dans la console : saisissez debug, puis (?).

Une courte liste de toutes les commandes :

Un (assemblage) — Traduction des commandes assembleur en code machine. Adresse par défaut - CS:0100h.

C (comparer) — Comparaison du contenu de deux zones mémoire. La valeur par défaut est D.S.. La commande spécifie soit la longueur des sections, soit la plage d'adresses.

D (vidage) — Afficher le contenu de la zone mémoire aux formats hexadécimal et ASCII. La valeur par défaut est D.S.. Vous pouvez spécifier la longueur ou la plage.

E (entrer) — Saisie de données ou d'instructions de code machine en mémoire. La valeur par défaut est D.S..

F (remplir) — Remplir la zone mémoire avec les données de la liste. La valeur par défaut est D.S.. Vous pouvez utiliser à la fois la longueur et la plage.

G(aller) — Exécution d'un programme en langage machine débogué jusqu'à un point d'arrêt spécifié. La valeur par défaut est D.S.. Dans ce cas, vous devez vous assurer que PI contient une adresse valide.

H (hexadécimal) — Calcul de la somme et de la différence de deux valeurs hexadécimales.

Je (entrée) — Lecture et sortie d'un octet du port.

L(charge) — Chargement d'un fichier ou de données à partir de secteurs de disque dans la mémoire. . Défaut - CS:100h. Le fichier peut être spécifié à l'aide de la commande N ou argument de démarrage debug.exe.

M (bouger) — Copier le contenu des cellules mémoire ; la valeur par défaut est utilisée D.S.

N (nom) — Spécification du nom de fichier pour les commandes L (CHARGE) Et W (ÉCRIRE).

O (sortie) — Envoi d'un octet au port de sortie.

P(continuer) — Exécution des instructions CALL, LOOP, INT (boucle, interruption, procédures) ou instruction de chaîne répétable avec préfixes REPnn, en passant à l'instruction suivante.

Q (quitter) - Fermer debug.exe. Sans enregistrer le fichier testé.

R (s'inscrire) — Afficher le contenu des registres et l'instruction suivante.

S (recherche) — Rechercher en mémoire les caractères de la liste. La valeur par défaut est D.S.. Vous pouvez spécifier à la fois la longueur et la plage.

T (trace) — Exécution étape par étape du programme. Tout comme l'équipe P., la valeur par défaut est paire CS:IP. Mais pour effectuer des interruptions il vaut mieux utiliser la commande P..

U (non assemblé) — Démontage du code machine. La valeur par défaut est la paire CS:IP.

W(écrire) — Écrire un fichier à partir de debug.exe sur le disque. Il faut préciser le nom du fichier avec la commande N, s'il n'a pas été chargé.


3)
Nous recevrons et enregistrerons les dumps des zones caractéristiques de la RAM et de la ROM

Tapons la commande R.

Registres C.S., D.S., ES, SS en ce moment initialisé adresse du préfixe du segment de programme de 256 octets, et la zone de travail en mémoire commencera par adresses de ce préfixe + 100h.

Règles du jeu de commandes :

UN B debug.exe Le cas des lettres ne diffère pas.

B) Les espaces dans les commandes sont utilisés uniquement pour séparer les paramètres.

C) Les nombres saisis doivent être dans le système de nombres hexadécimaux, et sans lettre finale h.

D) Le segment et le décalage sont écrits à l'aide de deux-points, au format segment:décalage.


4)
Afficher la zone mémoire.

Équipe D, vous permet de visualiser le contenu de zones de mémoire individuelles.
Vérifions la taille de la mémoire disponible pour le travail. Pour ce faire, on saisit : j 40:13 et Entrée.
Les deux premiers octets qui apparaissent à l'écran contiennent la taille de la mémoire en kilo-octets et en notation hexadécimale, les octets étant dans l'ordre inverse. Nous avons ceci : 8002 0280 640 (K)

  • L'adresse du premier octet affiché à gauche au format segment:décalage.
  • Représentation hexadécimale d'un paragraphe (16 octets), commençant par l'octet spécifié en début de ligne.
  • Caractères du même paragraphe au format ASCII.


4)
Vérification des ports parallèles et série.


Les 16 premiers octets de la zone de données du BIOS contiennent les adresses des ports parallèle et série. Les huit premiers octets imprimés indiquent les adresses du port série COM1-COM4. Les 8 octets suivants indiquent les adresses des ports parallèles LPT1-LPT4. Adresse du port 78 03 – écrite à l’envers.


5)
Vérification de l'état du registre du clavier.


Dans la zone de données BIOS par l'adresse 417h Le premier octet est localisé, qui stocke l'état du registre du clavier.


6)
Vérification de la date de production du BIOS.


Informations sur les droits d'auteur pour BIOS construit dans BIOS ROM par l'adresse FE00:0. La ligne de copyright peut être facilement trouvée dans ASCII-séquences, et le numéro de série est sous la forme d'un nombre hexadécimal. Sur l'écran, nous voyons un numéro d'ordinateur à sept chiffres et la date du droit d'auteur. Cependant, la ligne de copyright peut être longue et ne pas rentrer dans la zone mémoire allouée. Dans ce cas, il vous suffit de saisir à nouveau D.

La date est également enregistrée dans BIOS ROMà partir de l'adresse FFF : 5. Après avoir exécuté la commande appropriée dans ASCII-la séquence contiendra cette date, écrite au format mm/jj/aa.


7)
Exemple de codes machine.


Examinons la création d'un programme en langage machine, sa représentation en mémoire et les résultats de son exécution. Commande du débogueur A (Assembler) traduit DÉBOGUER dans le mode de réception de commandes assembleur et de leur traduction en codes machine.

Maintenant que le programme est entré en mémoire, essayons de contrôler son exécution. Tout d'abord, vérifions l'état actuel des registres et des drapeaux ; pour ce faire, entrez la commande R..


PI— un registre contenant le décalage d'adresse de la prochaine instruction à exécuter par rapport au segment de code C.S. dans les processeurs de la famille x86.

Registre PI Connecté avec C.S. comme CS:IP, Où C.S. est le segment de code actuel, et PI— le décalage actuel par rapport à ce segment.

Registre PI est un registre de pointeur de 16 bits. De plus, les registres de ce type comprennent PS (Pointeur de pile- pointeur de pile) et B.P. (Pointeur de base- indice de base).

Enregistrer CXa été réussi et égal à 8. Les segments ont été initialisés D.S., ES, SS, C.S. la même adresse. Registre PI contient 0100 , indiquant que les instructions sont exécutées avec un décalage de 100h par rapport à CS (c'est là que nous avons commencé).

Signification

Description

Pas de débordement

Direction vers le haut ou vers la droite

Activer les interruptions

Signe positif

Valeur non nulle

Pas de report supplémentaire

Mot étrange

0 B16 - adresse du segment de code.
  • Code machine correspondant à cette instruction ( B025).
  • L'instruction réelle écrite en assembleur ( MOUVEMENT A L,25 ).

  • 8)
    La commande du débogueur U (Désassembler) affiche les codes machine pour les instructions d'assemblage.


    Faisons-le. Il est nécessaire d'indiquer au débogueur les adresses de la première et de la dernière commande à visualiser (nous en avons 100 et 107). Les instructions dans la plage spécifiée apparaîtront, en langage assembleur, en code machine, ainsi que l'adresse de chaque instruction. Exécutons le programme étape par étape à l'aide de la commande T.

    Utiliser la commande une deuxième fois T, nous avons suivi les instructions MOV. Le code machine de l’opérande d’instruction est – 00D8. L'opération ajoute ALÀ B.L.. Pour sortir, nous entrons Q. Et encore une fois, nous démontons le créé testpi.com.


    9)
    Copiez le BIOS (C000:0 ... FFFF:F) dans un fichier et enregistrez le fichier pour une analyse ultérieure.


    Modification ou copie du code BIOS peut violer les droits d'auteur du fabricant BIOS. BIOS peut être copié ou modifié pour un usage personnel uniquement et non pour la distribution. Procédure de copie typique BIOS en utilisant le programme DÉBOGUER nous donnerons ci-dessous. Cette procédure enregistrera l'intégralité du segment de 64 Ko de l'adresse dans un fichier F000:0000h Par F0000:FFFFh.


    Conclusions :

    • debug.exepeut être utilisé pour observer et déboguer des programmes en assembleur et en code machine.
    • debug.exevous permet de tracer un programme, de définir des points d'arrêt, d'afficher les zones de mémoire et de saisir des programmes directement dans la mémoire de l'ordinateur.
    • debug.exereprésente les programmes téléchargeables en tant que programmes .COM.
    • debug.exen'accepte que les nombres en hexadécimal.
    • debug.exene fait pas de distinction entre la casse des lettres.