Maison / Tutoriels Windows / Qu'est-ce que l'utilitaire de débogage exe. Travailler avec la ligne de commande Windows, le programme Debug et son utilisation. Questions pour l'admission

Qu'est-ce que l'utilitaire de débogage exe. Travailler avec la ligne de commande Windows, le programme Debug et son utilisation. Questions pour l'admission

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 la plupart des appareils nécessaires- souris, clavier, mais tout le reste nécessitera de nouveaux pilotes.

Comment installer le pilote ?

1. Moyen le plus simple si disponible 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, mais que seuls les fichiers avec les extensions *.inf, *.dll, *.vxt, *.sys, *.drv sont présents, alors l'algorithme des actions devrait ressembler à ceci :

a) Vous devez d'abord sélectionner l'icône sur le bureau ( Mon ordinateur) et cliquez dessus avec le bouton droit de la souris, dans le menu déroulant sélectionnez ( Propriétés).

b) Allez maintenant dans l'onglet ( Équipement) et appuyez 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, faites un clic droit et sélectionnez dans le menu déroulant ( Propriétés), ou vous pouvez simplement double-cliquer dessus pour accéder aux paramètres souhaités.


d) Allez dans l'onglet ( Chauffeur), sélectionnez le bouton ( Rafraîchir).

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

f) Il y a deux options à ce stade. Vous pouvez essayer d'installer les pilotes dans mode automatique, alors le système d'exploitation lui-même essaiera de trouver des pilotes adaptés à l'appareil et de les installer, pour cela nous sélectionnons ( Installation automatique (recommandée)), si la tentative échoue, passez à la deuxième étape ( Installation à partir d'un emplacement spécifié) et choisissez ( Plus loin).


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

Si le pilote est trouvé et téléchargé sur Internet par vous-même, 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 à ( Examen), sélectionnez maintenant le dossier avec le pilote dans la liste et cliquez sur le bouton ( D'ACCORD). Maintenant, avancez hardiment Plus loin), si tout est fait correctement, l'installation du pilote nécessaire commencera.

debug.exe Un programme de débogage utilisé pour inspecter et déboguer les fichiers exécutables.

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

fonctionne via l'émulateur MS-DOS et a opportunités limitées. Appelé via la ligne de commande

DEBUG [[drive:][path]filename [options]].

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

Ce programme est une application console conçue pour créer ou modifier des fichiers de code. Avec lui, vous pouvez créer demande simple en dessous de MS-DOS et suivre leur travail. Ce débogueur est au niveau le plus bas des compilateurs assembleur. Mais il a de bonnes fonctionnalités, telles que la visualisation et la modification de la mémoire, l'obtention de l'état des registres.

Commandes debug.exe

Règles du jeu de commandes debug.exe :

· Debug.exe est insensible à la casse.

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

· Les nombres entrés doivent être dans le système de nombre hexadécimal, et sans la lettre finale h.

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

Après avoir chargé le débogueur, une invite apparaîtra sur l'écran qui ressemble à un trait d'union. Registres CS, DS, ES, SSà ce stade sont initialisés avec l'adresse du préfixe de segment de programme de 256 octets, et la zone de travail en mémoire commencera à l'adresse de ce préfixe + 100h. Équipes debug.exe sont saisis immédiatement après l'invitation à l'endroit marqué par le curseur. Chaque commande est constituée d'un identifiant et de paramètres, l'identifiant est constitué d'une seule lettre.

Tableau 1. Tableau récapitulatif de toutes les commandes debug.exe

Équipe La description Format
A (Assemblée) Traduction de 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 une plage d'adresses. C<начальный_адрес_1>L<длина> <начальный_адрес_2>C<начальный_адрес_1> <конечный_адрес_1> <начальный_адрес_2>
D (affichage/vidage) Affiche le contenu d'une zone mémoire aux formats hexadécimal et ASCII. La valeur par défaut est DS ; la longueur ou la plage peut être spécifiée. RÉ[<начальный_адрес>] D [adresse_début adresse_fin]
E (Entrée) Entrer des données ou des instructions de code machine dans la mémoire ; la valeur par défaut est DS. E[<адрес> [<инструкции/данные>]]
F (Remplir) Remplissage de 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écutez un programme en langage machine débogué jusqu'à un point d'arrêt spécifié ; la valeur par défaut est CS. Ce faisant, 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) Lire et sortir un octet à partir d'un port. je<адрес_порта>
L (Charge) Chargement d'un fichier ou de données à partir de secteurs de disque dans la mémoire ; la valeur par défaut est CS:100h. Le fichier peut être spécifié avec la commande N ou 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 d'un nom de fichier pour les commandes L et W. N<имя_файла>
O (Sortie) Envoi d'un octet à un port. O<адрес_порта> <байт>
P (continuer) Exécutez une instruction CALL, LOOP, INT ou une instruction de chaîne répétée avec les préfixes REPnn, en passant à l'instruction suivante. P[=<адрес_начала>] [<количество_инструкций>]
Q (quitter) Arrêt de debug.exe. Q
R (s'inscrire) Sortie du contenu des registres et de l'instruction suivante. R<имя_регистра>
S (recherche) Recherche 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 pas à pas du programme. Comme pour la commande P, la paire par défaut est CS:IP. Je note que pour effectuer des interruptions, il est préférable d'utiliser la commande P. T[=<адрес_начала>] [<количество_выполняемых_команд>]
U (Désassembler) Désassemblage du code machine ; la valeur par défaut est la paire CS:IP. Malheureusement, debug.exe ne désassemble pas correctement les instructions spécifiques pour les processeurs 80286+, bien qu'ils s'exécutent toujours correctement. tu [<начальный_адрес>]U[<начальный_адрес конечный_адрес>]
W (écriture) Écriture d'un fichier à partir de debug.exe ; vous devez spécifier 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[<адрес> [<номер_диска> <начальный_сектор> <количество_секторов>]]


Affichage des zones de mémoire

Regardons de plus près le travail de l'équipe , qui vous permet de visualiser le contenu de zones individuelles de la mémoire. Cet exemple utilise la commande pour afficher 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 qui indiquent le contenu de la zone mémoire sélectionnée. Chaque ligne comporte trois parties :

L'adresse du premier octet de gauche affiché 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 d'un même paragraphe au format ASCII.

L'adresse spécifiée dans la ligne se réfère exclusivement 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 faciliter la lecture. De plus, il convient de noter que les huitième et neuvième octets sont séparés par un trait d'union, ce qui divise le paragraphe en deux parties et facilite le calcul des adresses des octets du paragraphe.

Trucs utiles avec l'équipe D

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, vous pouvez vérifier ces ports avec la commande suivante :

Les huit premiers octets imprimés indiquent les adresses des ports série. COM1-COM4. Les 8 octets suivants indiquent les adresses des ports parallèles. LPT1-LPT4. Par exemple, si votre ordinateur possède 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 sont 23 44. Décodons ces octets pour obtenir des informations sur appareils installés. Pour ce faire, nous transformons ces octets (44 23), puis les traduisons dans un système de nombres binaires. On a:

Valeur binaire
Emplacement du bit

Que signifient ces bits ? Nous continuons à déchiffrer :

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

Dans la zone de données BIOS par l'adresse 417h est le premier octet qui stocke l'état du registre du clavier. Éteindre Verr Num et verrouillage du capuchon , puis on tape la commande :

Le premier octet sera 00. En incluant Verr Num et verrouillage du capuchon, exécutez à nouveau la commande. Maintenant, le premier octet doit être égal à 60. Il a été expérimentalement établi que lorsque Verr Num le premier octet est 20, et quand verrouillage du capuchon - 40.

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

Par l'adresse 449h dans BIOS la première zone de données vidéo est localisée. 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 - mode avec 80 colonnes). Le nombre de lignes peut être trouvé à 484h (40:84).

Vérification du copyright 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 chaîne de copyright peut être facilement trouvée dans une 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 tenir dans la zone de sortie de la mémoire. Dans ce cas, il vous suffit de saisir à nouveau .

Vérification de la date de fabrication du BIOS

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

Mettre un programme en mémoire directement avec debug.exe

debug.exe vous permet d'entrer le programme directement dans la mémoire de la machine, puis de surveiller et de contrôler son exécution. Nous entrerons le programme en codes machine à l'aide de la commande E. En même temps, soyez prudent la saisie de données erronées à la mauvaise adresse est lourde de conséquences imprévisibles ! Bien qu'il soit peu probable que cela entraîne de graves problèmes dans le système, mais la perte de toutes les données saisies dans debug.exe, vous pouvez facilement. Le programme à saisir utilise les données intégrées directement dans le corps des instructions. Ce qui suit est une liste du programme en assembleur, les commentaires indiquent des analogues des commandes de langage dans les codes machine, ainsi qu'une explication de chaque commande. Notez qu'il n'y a pas de symbole dans les chiffres h, puisque, comme mentionné ci-dessus, debug.exe ne comprend que les nombres hexadécimaux.

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

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

MOV BX, AX ; code 8BD8 : on rentre la valeur de AX dans BX

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

MOV CX, BX ; code 8BCB : on rentre la valeur de BX dans CX

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

SOUS AXE, AXE ; code 2BC0 : effacer AX

JMP 100 ; Code EBEE : aller au début du programme

Comme vous pouvez le voir, chaque instruction machine a une longueur de 1 à 3 octets. Le premier octet spécifie l'opération, l'octet suivant spécifie ses opérandes. L'exécution du programme commence à partir de la première instruction et parcourt toutes les instructions une par une. Vous pouvez maintenant entrer le programme en mémoire. Nous divisons le code machine en trois parties de six octets et entrons chacune à l'aide de la commande E et à partir de l'adresse SC : 100.

Maintenant que le programme est en mémoire, essayons de contrôler son exécution. Tout d'abord, vérifions l'état actuel des registres et des drapeaux, pour cela nous entrons dans la commande R. Le débogueur imprimera le contenu des registres en hexadécimal ; sur le différentes machines le contenu des registres peut varier.

Donc, comme vous pouvez le voir, debug.exe segments initialisés DS, ES, SS, CS la même adresse. S'inscrire IP contient 0100 , indiquant que les instructions sont exécutées à partir du décalage 100h relativement CS(et nous, en entrant des instructions en mémoire, nous 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 l'état des registres et des drapeaux, debug.exe affiche des informations sur la première instruction à exécuter :

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

· Code machine correspondant à ce manuel (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 allons exécuter le programme pas à pas en utilisant la commande J. Utilisation de la commande pour la première fois J, on exécute l'instruction MOV. Ici, le code machine de l'opérande de l'instruction est 2301 . Lieux d'opération 23 dans AL(moitié plus jeune HACHE), un 01 - dans Ah(plus âgée). Après debug.exe imprime à nouveau les informations de registre :

À présent HACHE contient 0123h, IP0103h(d'où la longueur de l'instruction exécutée : 0103h - 0100h = 3 octets) et l'instruction suivante est l'opération AJOUTER. Donc, encore et encore en exécutant la commande J, nous arriverons à la dernière instruction JMP 100. Elle établira le registre IP dans 100h, et debug.exe reviendra au début du programme. Revenant au début du programme, il convient de noter qu'en DS, ES, SS et CS contient la même adresse. Le fait est que debug.exe considère 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 le même segment.

Montage et démontage

Dans l'exemple précédent, nous avons entré le programme en codes machine, cependant, debug.exe tout à fait capable de comprendre des instructions écrites en assembleur. Pour travailler avec de tels programmes dans debug.exe les commandes sont utilisées UN et tu.

É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 affichera l'adresse du segment de code et le décalage (par exemple, 13F2:0100). Maintenant, nous devons entrer suivant les instructions en assembleur en mémoire, 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 programme. Maintenant, le programme peut être exécuté en utilisant les commandes R consulter les registres et J 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 la commande J, et l'équipe P, qui gère toutes les interruptions à la fois.

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

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

Enregistrer un programme sur disque

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

Ensuite pour s'inscrire CX vous devez mettre la taille du programme en octets. Il sera égal à la différence entre les décalages final et initial. Maintenant, il ne reste plus qu'à écrire sur le disque avec la commande O 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 mov ah, 4c

0B3B:0105 entier 21

0B3B:0100 B83412 MOV AX,1234

0B3B:0103 B44C MOV 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

Ecrire 00007 octets

Pour remplir ce travail de laboratoire Vous aurez besoin de quelques commandes assembleur :

movah,<шестнадцатиричное число>- inscription au registre Ah Nombres 02 pour spécifier une fonction système - afficher un caractère à l'écran ;

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

INT 21 - l'interruption DOS principale (procédure) qui implémente de nombreuses diverses fonctions; le numéro de fonction est pré-écrit dans le registre AH ; pour imprimer un caractère à l'écran - dans le registre AH fonction 02, tandis que dans DL pré-enregistrez le code du caractère.

INT 20 - Interruption DOS qui quitte le programme (à partir du programme .COM).

Exemple:

Affichez le caractère "*" à l'écran.

movAH,02 ; fonction système 02 - affichage d'un caractère à l'écran

mouv DL,2A ; Code astérisque ASCII

entier 21h ; interrompre pour sortir "*"

int 20h ; sortie du programme

Tâche pratique

Cible

Introduction au débogueur debug.exe. Acquérir des compétences pratiques en travaillant avec ce programme.

Équipement:

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

Logiciel:

Programme de débogage.

Questions pour l'admission

1. Quel est le but du programme Debug ?

2. Comment exécuter ce programme ?

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

4. Qu'est-ce qu'un identifiant ?

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

Exercer

· Étudier le matériel théorique.

· Effectuez les commandes décrites dans le texte.

Trouver la somme et la différence de 2 nombres : le 1er nombre est le nombre dans le groupe (traduit en hexadécimal), le 2ème est le nombre opposé au nombre de la première lettre du nom dans l'alphabet (un nombre négatif en code supplémentaire). Convertissez la somme et la différence en décimal.

· Visualiser le contenu des registres du microprocesseur, ainsi que les flags et les écrire dans le protocole. Quelle est la fonction de chaque registre ? .

· Ecrire le premier nombre (de la tâche 3) dans le registre AX, et le second nombre (de la tâche 3) dans le registre BX. Tapez RAM dans le segment de code (offset 100) l'instruction machine pour ajouter les registres AX et BX. Visualisez sa fiche assembleur à l'écran. Exécutez cette commande, convertissez le résultat sous forme décimale.

· Entrez dans la RAM dans le segment de code (décalage 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, gravez-le sur le disque en tant que fichier .COM. Quelle est la taille du programme ? Exécutez-le pour une exécution à partir de DOS.

· Décrivez toutes les actions dans le rapport.

1. Titre de l'œuvre.

2. Le but du travail.

3. Instruments et équipement.

4. Brèves informations théoriques.

5. Description des actions entreprises.

6. Le texte du programme créé.

7. Conclusions.

question test

1. Quelle commande produit une entrée de données ou des instructions de code machine dans la 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 de Debug ?

6. Comment s'effectuent le montage et le démontage ?

DOS Debug est une application de débogage qui améliore les fonctionnalités de la commande MS DEBUG d'origine. Fonctionnant uniquement sur des architectures informatiques 32 bits, il joue le rôle d'assembleur et de désassembleur, offrant aux programmeurs un moyen de diagnostiquer COM et d'autres fichiers exécutables.

Le paquet comprend un binaire destiné pour le débogage Applications 16 bits (DEBUG.COM), ainsi qu'une version modifiée appelée DEBUGX.COM, qui est compatible avec les applications 16 bits et 32 ​​bits qui s'exécutent en mode protégé (compatible DPMI).

L'application s'exécute dans la console de commande, vous permettant d'afficher une liste de toutes les commandes disponibles en accédant à la section "Aide".

Parmi les fonctionnalités supplémentaires apportées par DOS Debug, vous pouvez trouver des améliorations de l'assembleur et du désassembleur (qui peuvent vous avertir en cas d'incompatibilités de processeur détectées), la prise en charge des opcodes FPU, des processeurs 80386+ et, par conséquent, des noms de registre 32 bits.

En outre, il peut agir comme une application de vidage hexadécimal et regroupe des options pour analyser le contenu de la mémoire, comparer ou remplir une plage d'adresses, afficher la chaîne MCB (bloc de contrôle de la mémoire DOS). D'autres commandes vous permettent d'accéder à certaines sections du disque, ports et secteurs de mémoire ou de définir le nom d'un programme.

DEBUG.COM fonctionne comme un programme 16 bits, ce qui signifie qu'il ne peut agir que sur les applications 16 bits, mais sa version améliorée (DEBUGX.COM) permet également le débogage des programmes DPMI 32 bits.

Destiné aux programmeurs expérimentés, DOS Debug fournit un utilitaire pouvant remplacer la commande MS DEBUG. Il peut traiter les packages DPMI 16 bits et 32 ​​bits et inclut une description détaillée des fonctions dans la documentation, ce qui permet de comprendre facilement ce que fait chaque commande.

Outils de débogage pour Windows- Outils de débogage de code d'exploitation Systèmes Windows. Il s'agit d'un ensemble de programmes librement distribués de Microsoft conçus pour déboguer le code en mode utilisateur et en mode noyau : applications, pilotes, services, modules du noyau. La boîte à outils comprend des débogueurs de console et d'interface graphique, des utilitaires pour travailler avec des symboles, des fichiers, des processus, des utilitaires pour le débogage à distance. La boîte à outils contient des utilitaires avec lesquels vous pouvez trouver les causes des pannes dans divers composants du système. Outils de débogage pour Windowsà partir d'un certain moment ne sont pas disponibles au téléchargement sous la forme d'une distribution autonome et font partie du SDK Windows (Windows Software Development Kit). Ensemble instrumental Outils Windows Le SDK, à son tour, 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 à jour des outils de débogage pour Windows est contenue dans le SDK Windows.

Les outils de débogage pour Windows sont mis à jour et publiés sur accès publique assez souvent et ce processus ne dépend pas de la version des systèmes d'exploitation. Par conséquent, vérifiez périodiquement les nouvelles versions.

Voyons maintenant ce que, en particulier, les outils de débogage pour Microsoft Windows:

  • Débogage des applications locales, des services (services), des pilotes et du noyau ;
  • Déboguer sur le réseau applications distantes, services (services), pilotes et noyau ;
  • Déboguez 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 avons 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 le programme d'installation Web.
  • Installation des outils de débogage pour Windows à partir de l'ISO Image Windows SDK.
  • Installation des outils de débogage pour Windows directement à partir des packages dbg_amd64.msi /dbg_x86.msi.

On ne sait toujours pas à quel moment, pourquoi devrais-je installer des outils de débogage sur un ordinateur ? Souvent, après tout, vous rencontrez une situation où l'intervention dans l'environnement de travail est extrêmement indésirable ! Et d'autant plus que l'installation d'un nouveau produit, c'est-à-dire apporter des modifications aux fichiers de registre / système, peut être totalement inacceptable. Les serveurs critiques en sont des exemples. Pourquoi les développeurs n'envisagent-ils pas des versions portables d'applications qui ne nécessitent pas d'installation ?
De version en version, le processus d'installation du package Outils de débogage pour Windows subit quelques modifications. Passons maintenant directement au processus d'installation et examinons les manières dont la boîte à outils peut être installée.

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

Accédez à la page Windows SDK Archive et recherchez la section sous Nom Windows 10 et versions antérieures "Windows 10 SDK (10586) et Microsoft Windows 10 Mobile Device Emulator (version 10586.11)".

Cliquez sur un élément INSTALLER 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 le package .NET Framework est installé sur le système dernière version(dans ce moment c'est 4,5). Si le package est manquant, l'installation vous sera proposée et la station sera redémarrée une fois terminée. Immédiatement après le redémarrage, au stade de l'autorisation de l'utilisateur, le processus d'installation démarre directement avec le SDK Windows.

Souvent, lors du choix de tous les composants du 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 avec cette méthode d'installation sera le suivant :

  • Versions 64 bits : C:\Program Files (x86)\Windows Kits\x.x\Debuggers\x64
  • version 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 ;
Nous avons remarqué que les versions 8 et supérieures, les chemins d'installation sont sensiblement différents des classiques pour tout le monde Versions précédentes outils de débogage ?

Un énorme plus cette méthode L'installation des outils de débogage pour Windows consiste à installer des 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, téléchargez image iso pour le système approprié, vous pouvez visiter 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 l'élément Télécharger le kit de développement logiciel Windows dans la fenêtre de démarrage du programme d'installation :

Comme on l'a découvert, la méthode d'installation précédente utilisant le programme d'installation Web est assez capricieuse et échoue souvent. 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 le kit de distribution requis, pour moi (et je pense pour beaucoup) pour le moment, c'est "Windows SDK pour Windows 7 et .NET Framework 4" et un peu plus bas, cliquez sur le lien "Obtenir Image ISO du DVD".

Lorsque vous travaillez avec le site msdn.microsoft.com, je vous conseille d'utiliser un navigateur Internet Explorer, car on a constaté des cas de non-fonctionnement de produits concurrents !

En conséquence, il est nécessaire de choisir uniquement si nécessaire. Habituellement, le nombre de bits des outils de débogage pour Windows est le même que le nombre de bits du système. Mes systèmes de test sont principalement 64 bits, donc dans la plupart des cas, je télécharge l'image pour le système 64 bits GRMSDKX_EN_DVD.iso .
Ensuite, après avoir téléchargé l'image, nous devons en quelque sorte travailler 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 propose d'utiliser utilitaires gratuits pour créer des périphériques de disque virtuel dans le système. Personnellement, je préfère utiliser le programme DEAMON Tools Lite à cet effet. Quelqu'un peut avoir d'autres préférences, des utilitaires plus directs ou légers, dans le goût et la couleur, comme on dit .. Après avoir installé DAEMON Outils Lite, je double-clique simplement sur le fichier image GRMSDKX_EN_DVD.iso et j'ai un nouveau CD virtuel dans mon système :

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

Lorsque vient le tour de sélectionner les composants à installer dans la liste, nous désactivons absolument toutes les options sauf celles marquées dans la capture d'écran. Cela nous aidera à éviter des erreurs inutiles maintenant.


C'est vrai, la capture d'écran montre deux options : "Windows Performance Toolkit" et "Outils de débogage pour Windows". Choisissez les deux, car Windows Performance Toolkit vous sera certainement utile dans votre travail ! De plus, après avoir cliqué sur le bouton "Suivant", l'installation se poursuit dans mode normal. Et à la fin, vous verrez l'inscription "Installation Complete".
Une fois l'installation terminée, les répertoires de travail du kit Outils de débogage pour Windows seront les suivants :

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

Ceci termine l'installation des outils de débogage pour Windows.

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

Si vous rencontrez des problèmes lors de l'installation des outils de débogage pour Windows avec deux manières précédentes, nous en avons encore un en stock, le plus fiable et le plus éprouvé, qui a aidé, pour ainsi dire, plus d'une fois. Autrefois, avant l'intégration dans le SDK Windows, les outils de débogage pour Windows étaient disponibles sous la forme d'un programme d'installation .msi séparé, que l'on peut toujours trouver, mais déjà dans les entrailles de la distribution du SDK Windows. Comme nous avons déjà une image ISO du SDK Windows sous la main, nous ne pouvons pas la monter dans le système, mais simplement l'ouvrir à l'aide du célèbre Archiveur WinRAR, eh bien, ou tout autre produit qui fonctionne avec le contenu des disques ISO.

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

  • Pour installer la version 64 bits : \Setup\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 kit Outils de débogage pour 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 il est lié, peut-être par inattention, 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 l'exécution de diverses tâches de débogage directement à partir de la console. Par conséquent, en l'absence de chemin, j'écris moi-même 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'un nombre de bits différent et en raison de l'utilisation d'un SDK d'une version différente.

Les utilitaires du package Outils de débogage pour Windows peuvent fonctionner comme des applications portables, il suffit de copier à partir de système de travail catalogue Boîte à outils de performances Microsoft Windows et l'utiliser 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 effectué 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.

Outils de débogage pour Windows

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

Dossier Objectif
adplus.doc Documentation de l'utilitaire ADPlus.
adplus.exe Une application console qui automatise le travail du débogueur cdb pour créer des vidages, des fichiers journaux pour un ou plusieurs processus.
agestore.exe Un utilitaire pour supprimer les fichiers obsolètes du stockage utilisé par le serveur de symboles ou le serveur source.
breakin.exe Un utilitaire qui vous permet d'envoyer une combinaison de pause personnalisée aux processus, comme si vous appuyiez sur CTRL+C.
cdb.exe Débogueur de console en mode utilisateur.
convertstore.exe Utilitaire pour convertir des personnages de 2 niveaux à 3 niveaux.
dbengprx.exe Ripiter (serveur proxy) pour le débogage à distance.
dbgpc.exe Un utilitaire pour afficher des informations sur l'état d'un appel RPC.
dbgsrv.exe Le 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 de vidage. Un utilitaire pour vérifier rapidement un fichier de vidage.
dumpexam.exe Un utilitaire pour analyser un vidage mémoire. Le résultat est sorti dans %SystemRoot%\MEMORY.TXT .
gflags.exe Éditeur des drapeaux du système global. L'utilitaire gère les clés de registre et d'autres paramètres.
i386kd.exe Emballage pour kd. Une fois qu'il s'appelait kd pour les systèmes sur Socle Windows NT/2000 pour les ordinateurs x86 ? Probablement laissé pour des raisons de compatibilité.
ia64kd.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 ia64 ? Probablement laissé pour des raisons de compatibilité.
kd.exe Débogueur de console en mode noyau.
kdbgctrl.exe Outil de gestion de débogage du noyau. Utilitaire de gestion et de configuration de 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 des connexions à distance. kd s'exécute sur un client et se connecte à ce serveur pour le débogage à distance. Le serveur et le client doivent provenir du même assembly Outils de débogage.
kill.exe Utilitaire pour terminer les processus.
liste.exe Un utilitaire pour afficher le contenu d'un fichier à l'écran. Cet utilitaire miniature a été fourni avec un seul objectif - afficher de gros fichiers texte ou journaux. Il prend peu d'espace mémoire, car il charge le texte par parties.
logger.exe Un petit débogueur 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 en cours d'examen.
logviewer.exe Un utilitaire pour afficher les journaux écrits 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 démarrage. 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, en contrôlant les symboles publics inclus dans un fichier de symboles.
remote.exe Utilitaire pour le débogage à distance et le contrôle à distance de tout 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 répertorier les processus en cours d'exécution via le processus serveur DbgSrv.
symchk.exe Un utilitaire pour télécharger des symboles à partir du serveur de symboles Microsoft et créer un cache de symboles local.
symstore.exe Utilitaire pour créer un réseau ou stockage local personnages (2 niveaux/3 niveaux). Un magasin de symboles est un répertoire spécialisé sur le disque qui est construit selon une certaine structure et contient des symboles. Dans le répertoire racine des symboles, une structure de sous-dossiers est créée avec des noms identiques aux noms des composants. À leur tour, chacun de ces sous-dossiers contient des sous-dossiers imbriqués avec 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 le symstore est utilisé pour obtenir des symboles du stockage de niveau 0 et les mettre dans le stockage de niveau 2/3.
tlist.exe Visionneuse de tâches. Un utilitaire pour lister tous les processus en cours d'exécution.
umdh.exe Utilitaire de tas de vidage en mode utilisateur. Un utilitaire pour analyser les tas d'un processus sélectionné. Vous permet d'afficher diverses options pour le tas.
usbview.exe Visionneuse USB. utilitaire pour voir Périphériques USB connecté à un ordinateur.
vmdemux.exe Démultiplexeur machine virtuelle. Crée plusieurs canaux nommés pour une seule connexion COM. Les canaux sont utilisés pour déboguer divers composants de la machine virtuelle
windbg.exe Débogueur en mode utilisateur et en mode noyau avec interface graphique.

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

La description

Cet utilitaire simplifie grandement l'installation et le débogage des applications et permet également d'accéder 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 de noter, cependant, que le pont de débogage Android prend en charge le travail avec tous les appareils Android, à condition que la fonctionnalité nécessaire n'ait pas été bloquée par le fabricant.

Le programme comprend trois volets :

  • Client. Fonctionne sur le PC du développeur, 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. Travaille dans Contexte sur chaque appareil.
  • Serveur. Contrôle l'interaction entre le client et le démon. S'exécute en arrière-plan sur la machine de développement.

Fonctionnalités ADB :

  • 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, vous pouvez télécharger Android Debug Bridge gratuitement, sans inscription ni SMS.

Captures d'écran