8 des meilleurs débogueurs Linux pour les ingénieurs logiciels

8 des meilleurs débogueurs Linux pour les ingénieurs logiciels
Charset=invalidcharsetid 48

Les débogueurs sont essentiels pour localiser les bogues dans les programmes. Ils tentent de trouver des problèmes dans votre code avant qu’il ne soit temps de le compiler, fournissant généralement plus d’informations que le compilateur lui-même ne le ferait. Linux, étant un écosystème principalement open source, propose une pléthore de ces types d’applications qui fonctionnent sur plusieurs langages et architectures de traitement différents. Dans ce guide, nous plongerons directement dans le monde des débogueurs Linux.

1. Débogueur GNU (GDB)

Le Débogueur GNU, alias GDB, est l’un des débogueurs Linux les plus puissants disponibles pour les programmeurs modernes. Il s’agit d’un outil robuste doté d’un ensemble complet de fonctionnalités. GDB prend en charge de nombreux langages de programmation populaires, notamment C, C++, Go et Rust. Il fonctionne également sur de nombreuses architectures de processeur différentes, telles que x86, x86-64, ARM, PowerPC, SPARC et MIPS.

Démonstration de GDB exécutant un programme de test

Installez GDB à l’aide de ces commandes :

Dans les distributions basées sur Ubuntu/Debian :

Dans les distributions Fedora/RHEL :

Dans les distributions basées sur Arch :

Tant que vous compilez en utilisant GCC avec des symboles de débogage, vous pouvez parcourir les instructions d’un programme pendant son exécution en tapant s. Taper r exécutera votre programme via le débogueur. Pour démarrer GDB avec le programme chargé, tapez simplement gdb dans votre terminal suivi du chemin du programme.

Une fois connecté, tapez help vous obtiendrez un catalogue bien organisé expliquant tout ce que vous pouvez faire avec ce débogueur tout-puissant !

2. Débogueur d’affichage de données (DDD)

Si jouer avec les commandes n’est pas votre truc mais que vous aimez quand même les fonctionnalités que GDB a à offrir, DDD vous propose un graphique simple front-end qui fournit toutes ses fonctionnalités dans une interface pointer-cliquer. Il s’agit de l’interface graphique par excellence du débogueur Linux.

DDD exécute un programme rudimentaire et quitte.

L’interface utilisateur peut paraître un peu simple, mais elle est tout aussi puissante que n’importe quel autre débogueur. La différence ici est que vous obtenez le débogueur de signature de GNU avec une interface graphique !

Pour l’installer :

Dans les distributions basées sur Ubuntu/Debian :

Dans les distributions Fedora/RHEL :

Dans les distributions basées sur Arch :

Tout ce qui est basé sur Arch devra utiliser un assistant AUR, car DDD n’existe pas dans ses référentiels officiels. Alternativement, vous pouvez installer DDD sur un système basé sur Arch sans assistant AUR :

3. LLDB

LLDB fait partie du projet LLVM. La suite LLVM gagne en popularité grâce à son flux de travail efficace. Il est également devenu le débogueur par défaut pour Xcode et Android Studio de macOS. Certaines des principales fonctionnalités de LLDB incluent la prise en charge de diverses intégrations de compilateur et le débogage à distance. Il prend en charge les langages C (C, C++ et Objective-C).

Débogueur Linux Lldb

Pour ceux qui sont déjà familiers avec les commandes de base de GDB, LLDB vous semblera familier. Taper run ou r exécute le programme et taper step ou s parcourt ses sous-programmes.

Pour l’installer :

Dans les distributions basées sur Ubuntu/Debian :

Dans les distributions Fedora/RHEL :

Dans les distributions basées sur Arch :

4. Plongez

Delve est un débogueur Linux simple mais riche en fonctionnalités pour le langage de programmation Go de Google. Vous pouvez l’utiliser pour interagir avec votre programme lors de l’exécution et manipuler des éléments tels que des goroutines et des piles. Le débogueur lui-même est écrit en Go, fournissant ainsi un environnement d’exécution dans le même environnement que le programme que vous testez.

Débogueur Delve exécutant un programme avec du code rudimentaire.

Delve fonctionne sur le même principe que GDB et LLDB, à l’exception du fait qu’il possède un ensemble unique de commandes qui diffèrent grandement des deux autres. Tapez simplement help une fois que vous y êtes et vous aurez une liste complète de toutes les options de débogage qu’il vous propose.

Contrairement aux débogueurs plus généraux pour plusieurs langues, Delve propose des commandes plus spécifiques à Go qui vous permettent d’accéder à un niveau plus granulaire dans votre application pendant son exécution.

Utiliser Delve pour examiner des routines et des threads Go spécifiques.

Pour l’installer :

Dans les distributions basées sur Ubuntu/Debian :

Dans les distributions Fedora/RHEL :

Dans les distributions basées sur Arch :

5. Xdebug

Alors que la plupart des gens apprennent à vider leurs variables (connu dans les communautés PHP sous le nom de « dump & die ») pour découvrir ce qui ne va pas avec un certain aspect de leur code, il y a des moments où vous avez besoin de quelque chose de plus robuste. qui peut vous guider dans toutes vos routines. Xdebug offre cela à la pelle aux programmeurs PHP en herbe et chevronnés.

Sortie Xdebug lors d'une session de débogage simple

Il s’agit d’un débogueur Linux qui parcourt le code PHP ligne par ligne et montre exactement ce qui se passe lors du traitement d’une page Web. Xdebug fonctionne également sur plusieurs IDE, dont VSCode. Ses autres fonctionnalités incluent un profileur robuste, un traceur de pile et la possibilité de vider le segment d’exécution complet.

Pour installer Xdebug :

Dans les distributions basées sur Ubuntu/Debian :

Dans les distributions Fedora/RHEL :

Dans les distributions basées sur Arch :

6. KDBG

KDbg est un débogueur GUI pour l’environnement de bureau KDE. Puisqu’il fonctionne comme une interface GDB comme le fait DDD, vous bénéficiez de toutes les fonctionnalités de GDB ainsi que d’une interface utilisateur intuitive. Les programmeurs plus expérimentés apprécieront certainement une vue claire de toutes les variables tout en parcourant leur code ainsi qu’un panneau entièrement dédié montrant ce que contient chaque registre CPU. Ce n’est pas aussi facile à visualiser dans aucun des autres débogueurs abordés ici.

Pour cette raison, KDbg est un choix fantastique pour les programmeurs d’applications natives traditionnelles, depuis les têtards qui commencent tout juste à apprendre jusqu’aux vétérans les plus endurcis.

KDbg déboguant un programme en cours d'exécution écrit en C.

Pour installer KDbg :

Dans les distributions basées sur Ubuntu/Debian :

Dans les distributions Fedora/RHEL :

Dans les distributions basées sur Arch :

7. Porte électorale

Valgrind est un débogueur de mémoire à toute épreuve qui offre de nombreux outils supplémentaires pour l’analyse logicielle. Il fonctionne sous Linux et Mac. De plus, vous pouvez l’utiliser comme cadre et créer des outils d’analyse dynamique comme des profileurs. Dans l’ensemble, Valgrind est un excellent choix pour les professionnels en raison de son riche ensemble de fonctionnalités et de sa variété d’outils qui surveillent la mémoire d’un programme pendant son exécution.

Valgrind détectant une fuite de mémoire dans un programme.

Pour installer Valgrind :

Sur les distributions basées sur Ubuntu/Debian :

Sur les distributions Fedora/RHEL :

Sur les distributions basées sur Arch :

8. tracer

strace est un utilitaire d’espace utilisateur pour Unix qui permet aux utilisateurs de tracer les appels et les signaux système directement depuis le terminal.

Débogueur Linux Strace

Les programmeurs peuvent l’utiliser pour vider les traces de pile, filtrer les appels système, modifier les codes de retour, extraire les descripteurs de fichiers et bien plus encore.

Plus important encore, strace vous permet de vous connecter à des programmes en cours d’exécution. Cela vous permet d’observer n’importe quel logiciel que vous exécutez sur votre ordinateur pour en savoir plus sur ce qui pourrait provoquer un crash.

Pour installer strace :

Dans les distributions basées sur Ubuntu/Debian :

Dans les distributions Fedora/RHEL :

Dans les distributions basées sur Arch :

L’Arsenal vous attend

Avec ces outils, vous pouvez explorer, produire et analyser votre code d’une manière qui aurait pu sembler inaccessible auparavant. Il y aura peut-être une certaine courbe d’apprentissage à suivre, mais cela en vaut la peine. Si vous envisagez sérieusement de programmer sous Linux, apprendre à utiliser ses débogueurs vous fera gagner beaucoup plus de temps à long terme.

Maintenant que vous disposez des meilleurs débogueurs Linux, il est temps pour vous de trouver les meilleures distributions Linux pour les développeurs et les programmeurs.

Crédit image : Toutes les images par auteur.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *