====== GDB, the Gnu DeBugger ====== Le débogueur est un outil permettant de rectifier les erreurs se trouvant dans un programme tiers en cours de développement. Il permet notamment d'exécuter le programme pas à pas, de consulter l'état des variable etc.\\ Pour pouvoir être utilisé avec gdb, le programme en cours de débogage doit être compilé avec des options spécifiques notamment l'option -g ===== Débogage gdb croisé ===== Le débogage croisé utilise un débogueur spécialement compilé pour pouvoir communiquer avec la cible. La machine de développement (l'hôte) exécute le debogueur qui communique avec le programme gdbserver s'executant sur la cible. ==== Compilation de gdb croisé ==== L'option ''**%%--%%target**'' permet d'indiquer la nature de la cible. Pour compiler un débogueur gdb croisé pour ARM: ./configure --target=arm-linux --program-prefix=arm-linux- ==== Compilation de gdbserver ===== gdbserver est executé sur la cible. Il communique avec gdb sur l'hote via un lien Ethernet ou une liaison série RS-232. gdbserver est compilé à partir des sources de gdb, l'option ''**%%--%%host**'' permet de préciser l'architecture de la cible sur laquelle il s'exécutera. Si l'on souhaite compiler à partir d'un PCx86 gdbserver pour qu'il s'exécute sur un ARM: ./configure --build=i686-pc-linux-gnu --host=arm-linux ===== Sources ===== * Linux embarqué, Pierre Ficheux et Eric Bénard. Chapitre 5 page 109. * http://www.linux-france.org/article/devl/gdb_howto.html.