Petit tutoriel du débogueur GDB

Magazine
Marque
GNU/Linux Magazine
HS n°
Numéro
55
Mois de parution
juillet 2011
Spécialité(s)


Résumé
Ecrire des programmes en C ou modifier ceux d'autres développeurs n'est pas quelque chose de naturel. Du moins pas dans un premier temps et avec la plupart des personnes. Les sources d'erreurs sont ainsi nombreuses. La fatigue, le manque d'expérience ou tout simplement la densité du code, sont parmi les plus courantes. Le fait est, que, quand on programme, on fait des erreurs. Parfois, ces erreurs ne sont pas les nôtres mais le fait de les corriger peut aider à faire évoluer un projet. Le problème est si courant que pour résoudre ces erreurs, des outils spécifiques ont été créés : les debuggers. Le plus utilisé sous GNU/Linux et d'autres systèmes en logiciel libre est celui proposé par le projet GNU : le GNU Debugger, GDB pour les intimes.

Lorsqu'un programme comporte des erreurs il est très difficile de les trouver et les corriger en lisant simplement le code. Il faut le voir fonctionner tout en gardant un oeil sur chaque élément qui le compose. Un debugger permet de lancer le programme sous contrôle. Il est alors possible de procéder à différentes actions comme mettre le programme en pause, voir et modifier le contenu des variables, définir des points d'arrêt ou encore afficher la pile d'exécution pour voir l'enchaînement d'appels aux fonctions.

Prévenons de suite, la seule occurrence de “bogue” ou d'un dérivé que vous trouverez dans cet article est celui que je viens d'écrire (entre guillemet, en début de ligne, là) et celui dans le titre (pour fait bien). Ce mot, francisation horrible et maladroite du terme anglais “bug”, désigne, dans notre langue déjà quelque chose : la coque entourant la châtaigne ou le marron. Vous savez, le truc avec lequel vous vous tué les doigts avant de vous...

Cet article est réservé aux abonnés. Il vous reste 97% à découvrir.
S'abonner à Connect
  • Accédez à tous les contenus de Connect en illimité
  • Découvrez des listes de lecture et des contenus Premium
  • Consultez les nouveaux articles en avant-première
Je m'abonne


Article rédigé par

Par le(s) même(s) auteur(s)

Édito : C'est la misère, ma pauv' dame !

Magazine
Marque
Hackable
Numéro
43
Mois de parution
juillet 2022
Résumé

Il devient de plus en plus difficile de trouver des devkits, SBC et autres cartes d'évaluation à un prix abordable. La pénurie s'est installée et risque de perdurer encore de nombreux mois. Ceci peut paraître surprenant puisqu'en parallèle, les semiconducteurs haut de gamme, comme les processeurs, ne semblent pas rencontrer de problème (du moins pas à la même échelle). Que se passe-t-il ?

Édito : Cache-caméra ou cache-misère ?

Magazine
Marque
GNU/Linux Magazine
Numéro
258
Mois de parution
juillet 2022
Résumé

Les « goodies » sont généralement l'une des bonnes raisons de se rendre à des salons et autres événements. Au FIC 2022 à Lille le mois dernier, le cache-caméra était partout, comme c'est le cas depuis plusieurs années. L'objectif de ce petit dispositif est de simplement obstruer l'objectif de la webcam intégrée à votre laptop, si d'aventure un vilain pirate (ou un agent d'un pays tout aussi vilain) venait à en prendre le contrôle.

Exécution d'anciennes applications binaires sur un GNU/Linux récent : l'exemple Quartus II

Magazine
Marque
Hackable
Numéro
43
Mois de parution
juillet 2022
Spécialité(s)
Résumé

Pour s'initier à Verilog et au monde des FPGA, il existe une pléthore de solutions, open source ou non, coûteuses ou non, riches en ressources ou non, modernes ou non... Certaines combinaisons de ces caractéristiques sont faciles à trouver, d'autres un peu moins, voire pas du tout. Ainsi, mettre la main sur une plateforme puissante, open source, économique et moderne relève encore du challenge, même s'il commence à y avoir des pistes intéressantes (voir [1], [2] ou encore [3]). Une autre option consiste à faire quelques concessions et à opter pour quelque chose d'ancien et propriétaire, mais bien fourni et économique. Un bon exemple concerne la famille de FPGA Cyclone d'Altera (maintenant Intel). Mais faire fonctionner, sur un système récent, un environnement de développement tout aussi dédié qu'obsolète n'est pas une mince affaire...

Les derniers articles Premiums

Les derniers articles Premium

Stubby : protection de votre vie privée via le chiffrement des requêtes DNS

Magazine
Marque
Contenu Premium
Spécialité(s)
Résumé

Depuis les révélations d’Edward Snowden sur l’espionnage de masse des communications sur Internet par la NSA, un effort massif a été fait pour protéger la vie en ligne des internautes. Cet effort s’est principalement concentré sur les outils de communication avec la généralisation de l’usage du chiffrement sur le web (désormais, plus de 90 % des échanges se font en HTTPS) et l’adoption en masse des messageries utilisant des protocoles de chiffrement de bout en bout. Cependant, toutes ces communications, bien que chiffrées, utilisent un protocole qui, lui, n’est pas chiffré par défaut, loin de là : le DNS. Voyons ensemble quels sont les risques que cela induit pour les internautes et comment nous pouvons améliorer la situation.

Surveillez la consommation énergétique de votre code

Magazine
Marque
Contenu Premium
Spécialité(s)
Résumé

Être en mesure de surveiller la consommation énergétique de nos applications est une idée attrayante, qui n'est que trop souvent mise à la marge aujourd'hui. C'est d'ailleurs paradoxal, quand on pense que de plus en plus de voitures permettent de connaître la consommation instantanée et la consommation moyenne du véhicule, mais que nos chers ordinateurs, fleurons de la technologie, ne le permettent pas pour nos applications... Mais c'est aussi une tendance qui s'affirme petit à petit et à laquelle à terme, il devrait être difficile d'échapper. Car même si ce n'est qu'un effet de bord, elle nous amène à créer des programmes plus efficaces, qui sont également moins chers à exécuter.

Donnez une autre dimension à vos logs avec Vector

Magazine
Marque
Contenu Premium
Spécialité(s)
Résumé

Avoir des informations précises et détaillées sur ce qu’il se passe dans une infrastructure, et sur les applications qu'elle héberge est un enjeu critique pour votre business. Cependant, ça demande du temps, temps qu'on préfère parfois se réserver pour d'autres tâches jugées plus prioritaires. Mais qu'un système plante, qu'une application perde les pédales ou qu'une faille de sécurité soit découverte et c'est la panique à bord ! Alors je vous le demande, qui voudrait rester aveugle quand l'observabilité a tout à vous offrir ?

Les listes de lecture

9 article(s) - ajoutée le 01/07/2020
Vous désirez apprendre le langage Python, mais ne savez pas trop par où commencer ? Cette liste de lecture vous permettra de faire vos premiers pas en découvrant l'écosystème de Python et en écrivant de petits scripts.
11 article(s) - ajoutée le 01/07/2020
La base de tout programme effectuant une tâche un tant soit peu complexe est un algorithme, une méthode permettant de manipuler des données pour obtenir un résultat attendu. Dans cette liste, vous pourrez découvrir quelques spécimens d'algorithmes.
10 article(s) - ajoutée le 01/07/2020
À quoi bon se targuer de posséder des pétaoctets de données si l'on est incapable d'analyser ces dernières ? Cette liste vous aidera à "faire parler" vos données.
Voir les 53 listes de lecture

Abonnez-vous maintenant

et profitez de tous les contenus en illimité

Je découvre les offres

Déjà abonné ? Connectez-vous