Saisir un mot clé:
 
 

débogueur

Ce site est un miroir du site http://fr.wikipedia.org/wiki/Accueil

Warning: Invalid argument supplied for foreach() in /var/www/ebabylone/www/encyclopedie.php on line 221
...

Wiktionnaire Un débogueur (en anglais, debugger) est un logiciel qui permet de déboguer, c'est-à-dire d'aider le programmeur à détecter des bogues dans un programme (il peut aussi servir à tester ce dernier).

Utilisation

Le programme à déboguer est exécuté à travers le débogueur et s'exécute normalement. Le débogueur offre alors au programmeur la possibilité de contrôler l'exécution du programme, en lui permettant par divers moyens de stopper (mettre en pause l'exécution du programme) et d'observer par exemple le contenu des différentes variables en mémoire. L'état d'exécution peut alors être observé afin, par exemple, de déterminer la cause d'une défaillance. Quand l'exécution d'un programme est stoppée, le débogueur affiche la position courante d'exécution dans le code source original si celui-ci est un source-level debugger'' ou ''symbolic debugger''. Si c'est un ''low-level debugger'' ou un ''machine-language debugger, il montre la ligne désassemblée. De nombreux debogueurs permettent, en plus de l'observation de l'état des registres processeurs et de la mémoire, de les avant de rendre la main au programme débogué. Ils peuvent alors être utilisés pour localiser certaines protections logicielles et les désactiver, amenant à la conception d'un crack. Ainsi, certains logiciels, connaissant le fonctionnement des débogueurs et voulant empêcher de telles modifications, mettent en place des techniques antidébogage (anti debugging tricks).

Techniques

Les outils offerts par les débogueurs dépendent essentiellement du langage de programmation (utilisé pour développer le programme à déboguer) pour lequel il a été conçu. Néanmoins, la grande majorité des débogueurs offrent des outils similaires.

Outils pour stopper (mettre en pause) l'exécution du programme


commande d'arrêt manuel : le programmeur peut décider à tout moment de stopper l'exécution
point d'arrêt : placé à un endroit spécifique du programme (généralement dans le code source), il indique au débogueur d'arrêter l'exécution lorsqu'elle atteindra cet endroit
point d'arrêt conditionné : comme le point d'arrêt, mais avec une condition supplémentaire (comme le nombre de passages sur ce point d'arrêt par exemple)
point d'observation (watch) : permet d'arrêter l'exécution du programme sur la condition de la modification d'une variable

Outils pour piloter l'exécution du programme


pas-à-pas : exécution instruction par instruction
    pas-à-pas sommaire : une instruction est exécutée, dans le programme principal, à chaque fois que le programmeur le demande
    pas-à-pas détaillé : comme le pas-à-pas sommaire, sauf que le pas-à-pas entre aussi dans les fonctions
    avec cadencement : à intervalles périodiques, une instruction est exécutée (cela permet de ralentir l'exécution du programme afin qu'elle puisse être suivie de près par l'?il humain)
retour en arrière : revenir à l'instruction précédente, en retrouvant l'état précédent (fonctionnalité assez rare)

Outils pour observer l'état du programme


observation d'une variable
observation d'une zone mémoire
observation d'un registre du microprocesseur
observation de la pile d'appel (backtrace)
observation du code source avec point d'exécution actuel
observation du code assembleur (sauf langage interprété) avec point d'exécution actuel
trace : permet d'observer des informations en différé, sans stopper l'exécution du programme En outre, le débogueur permet généralement de l'état du programme, lorsque son exécution est stoppée :
modification d'un registre
modification d'une variable
modification d'une zone mémoire

Débogueurs connus


adb
AntiC
Broadway
CodeView et le Visual Studio Debugger
DAEDALUS
dbx
D.U.M.A Detect Unintended Memory Access - le fork de Electric Fence
Dynamic debugging tape (DDT), and ODT
Electric Fence
Etnus TotalView
gdb ou Gnu DeBugger
IDA The Interactive Disassembler
Java Platform Debugger Architecture
ladebug
MacsBug
Mpatrol
OCamlDebug, le débogueur d'Objective Caml
OllyDbg
PE Explorer
Prism Parallel Debugger
Purify
sdb
SoftICE
Syser, un debugger Ring 0
SPlint
T-Bug, le débogueur intégré dans Perl 5
TMON
Turbo Debugger
Valgrind
W32DASM
WinDbg

Ouvrage de référence


Jonathan B. Rosenberg, How Debuggers Work: Algorithms, Data Structures, and Architecture, John Wiley & Sons, ISBN|0-471-14966-7
bs:Debugger cs:Debugger da:Debugger de:Debugger en:Debugger eo:Erarser?ilo es:Depurador fi:Debuggeri is:Kembiforrit it:Debugger ja:???? nl:Debugger pl:Debuger pt:Depurador ru:???????? sv:Avlusare th:?????? uk:???????débogueurDébogueur93077

DernierMirror  
Le Texte ci-dessus est disponible sous GNU Free Documentation License.
La source est wikipedia http://fr.wikipedia.org/wiki/débogueur
Home

Données
A la une
Articles
Formatons en lignes
Téléchargement
Licence GNU
Encyclopedie
Portail logiciels libres

Partenaires

beyrouthsurseine.com
Sonnerie & Logos
Photos-Video
Ringtones-Sonnerie
Actualite.org
Terrain tennis

  
Juillet 2008
L
M
M
J
V
S
D
123456
78910111213
14 151617181920
21222324252627
28293031
     
Tous les Logos et Marques sont déposés, les commentaires sont sous la responsabilité de ceux qui les ont publiés, le reste © technicmania.com