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

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. GNU Debugger (GDB)

Le GNU Debugger, 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.

Installez GDB à l'aide de ces commandes :

Dans Ubuntu/Debian -distributions basées :

sudo apt install gdb

Dans les distributions Fedora/RHEL :

sudo dnf install gdb

Dans les distributions basées sur Arch distributions :

sudo pacman -S gdb

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 que vous y êtes, tapez help vous donner 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 toujours les fonctionnalités que GDB a à offrir, DDD vous offre une interface graphique simple qui fournit toutes ses fonctionnalités dans une interface pointer-cliquer. C'est l'interface graphique par excellence du débogueur Linux.

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 :

sudo apt install ddd

Dans les distributions Fedora/RHEL :

sudo dnf install ddd

Dans les distributions basées sur Arch :

yay -S ddd

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 :

sudo pacman -S --needed base-devel git clone https://aur.archlinux.org/ddd.git cd ddd makepkg -si

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).

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 étapes à travers ses sous-programmes.

Pour l'installer :

Dans les distributions basées sur Ubuntu/Debian :

sudo apt install lldb

Dans les distributions Fedora/RHEL :

sudo dnf install lldb

Dans les distributions basées sur Arch :

sudo pacman -S lldb

4. Delve

Delve est un Linux simple mais riche en fonctionnalités. débogueur 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.

Delve fonctionne sur le même principe que GDB et LLDB, à l'exception du fait qu'il possède un ensemble de commandes très différentes 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.

Pour l'installer :

Dans les distributions basées sur Ubuntu/Debian :

sudo apt install delve

Dans les distributions Fedora/RHEL :

sudo dnfinstallez Delve

Dans les distributions basées sur Arch :

Sudo pacman -S delve

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 accompagner dans toutes vos routines. Xdebug propose cela à la pelle pour les programmeurs PHP en herbe et chevronnés.

C'est 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 :

sudo apt install php-xdebug

Dans les distributions Fedora/RHEL :

sudo dnf install php-xdebug

Dans les distributions basées sur Arch :

sudo pacman -S xdebug

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 à les vétérans les plus endurcis.

Pour installer KDbg :

Dans les distributions basées sur Ubuntu/Debian :

sudo apt install kdbg

Dans Distributions Fedora/RHEL :

sudo dnf install kdbg

Dans les distributions basées sur Arch :

sudo pacman -S kdbg

Remarque : Si vous utilisez une distribution basée sur Ubuntu ou Debian et que vous ne trouvez pas le paquet pour kdbg dans les dépôts officiels, voici exactement ce que vous devez saisir pour le construire vous-même :

 sudo apt install build-essential cmake extra-cmake-modules qtbase5-dev libkf5i18n-dev libkf5iconthemes-dev libkf5xmlgui-dev git clone -b maint https://github.com/j6t/kdbg.git cd kdbg cmake . make sudo make install

7. Valgrind

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.

Pour installer Valgrind :

Sur Ubuntu/Debian -distributions basées :

sudo apt install valgrind

Sur les distributions Fedora/RHEL :

sudo dnf install valgrind

Sur les distributions basées sur Arch distributions :

sudo pacman -S valgrind

8. strace

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

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 attacher à 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 :

sudo apt install strace

Dans les distributions Fedora/RHEL :

sudo dnf install strace

Dans les distributions basées sur Arch :

sudo pacman -S strace

L'arsenal attend

Grâce à ces outils, vous pouvez explorer, produire et analyser votre code d'une manière qui vous aurait semblé 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.

Index
  1. 1. GNU Debugger (GDB)
  2. 2. Débogueur d'affichage de données (DDD)
  3. 3. LLDB
  4. 4. Delve
  5. 5. Xdebug
  6. 6. KDbg
  7. 7. Valgrind
  8. 8. strace
  9. L'arsenal attend

Laisser un commentaire

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

Go up