Maison  >  Article  >  développement back-end  >  Parlons des outils de débogage de Golang

Parlons des outils de débogage de Golang

PHPz
PHPzoriginal
2023-03-31 10:24:44905parcourir

En tant que développeur de logiciels Golang, nous sommes tous confrontés à ce problème : lorsqu'il y a un problème lors de l'exécution de votre code Golang, comment en découvrir la cause profonde ? Dans cet article, nous explorerons les outils de débogage de Golang et comment les utiliser pour nous aider à localiser rapidement les problèmes.

  1. GDB Debugger

GDB est un débogueur puissant qui peut être utilisé pour de nombreux langages de programmation tels que C/C++, Golang, etc. Dans Golang, nous pouvons utiliser GDB pour tracer le code et le déboguer. Voici quelques commandes GDB de base :

  • Définir le point d'arrêt : break main.main
  • Continuer l'exécution : continuer
  • Reprendre l'exécution : reprendre
  • Exécution en une seule étape : step
  • Exécution en une seule étape (sans entrer dans la fonction) : suivant
  • Afficher la valeur de la variable : p nom de la variable

Ce qui suit est un exemple simple montrant comment utiliser GDB pour déboguer les programmes Golang.

Tout d'abord, nous devons insérer un point d'arrêt dans le programme, il suffit de l'insérer dans la fonction principale. Ensuite, dans le répertoire du programme qui doit être débogué, utilisez la commande suivante pour démarrer notre programme :

$ gdb ./main
GNU gdb (GDB) 7.6.2
...
Lecture des symboles depuis /home/user/ Documents/go /src/debugging/main...done.
(gdb) break main.main
Point d'arrêt 1 à 0x4012b4 : fichier /home/user/Documents/go/src/debugging/main.go, ligne 5.
(gdb) run

Lorsque le programme s'exécute jusqu'au point d'arrêt que nous avons défini, le programme s'arrêtera pour le débogage. À ce moment, nous pouvons utiliser d'autres commandes GDB pour afficher les variables et d'autres informations de débogage.

  1. Delve

go-delve est un débogueur puissant qui peut être utilisé pour déboguer les programmes Golang. Par rapport à GDB, Delve offre une expérience de débogage plus conviviale et prend en charge la définition de points d'arrêt et la modification dynamique des variables du programme. En même temps, Delve fournit également les fonctions suivantes :

  • Prend en charge le débogage des programmes multithread ;
  • Prend en charge le débogage des programmes distants ;
  • Vous pouvez utiliser l'API pour déboguer les processus ;

Voici quelques exemples d'utilisation de Delve ;

Tout d’abord, Delve doit être installé. Sur les systèmes Linux, vous pouvez utiliser la commande suivante pour installer :

$ go get github.com/go-delve/delve/cmd/dlv

Dans le répertoire du programme qui doit être débogué, utilisez la commande suivante pour démarrer notre programme :

$ dlv debug ./main.go

Ensuite, le débogueur affichera les informations de scène dans le terminal et entrera en mode ligne de commande. Nous pouvons utiliser des commandes en mode ligne de commande pour déboguer le programme.

  • Définir le point d'arrêt : break main.main
  • Continuer l'exécution : continuer
  • Reprendre l'exécution : redémarrer
  • Exécution en une seule étape : étape
  • Exécution en une seule étape (sans entrer la fonction) : suivant
  • Afficher la valeur de la variable : p variable Le nom

Delve prend également en charge la modification des valeurs des variables en mode débogage, par exemple :

(gdb) p x
$1 ​​​​= 1

(gdb) set x = 2
(gdb) p x
$2 = 2

  1. Débogage VSCODE

Visual Studio Code est un environnement de développement très populaire qui prend en charge de nombreux langages de programmation, dont Golang. Dans VSCODE, nous pouvons utiliser l'extension Golang intégrée pour déboguer les programmes Golang.

Tout d’abord, installez l’extension vscode-go. Ensuite, ouvrez l'interface de débogage via la touche de raccourci F5 ou le bouton Exécuter et déboguer sur la gauche. Dans le coin supérieur gauche de l'interface, vous pouvez sélectionner le projet à déboguer. Par exemple, celui que nous souhaitons déboguer est main.go. Une fois que vous avez cliqué sur le bouton Exécuter, le programme démarrera en mode débogage.

Dans le panneau de débogage de VSCODE, nous pouvons définir des points d'arrêt, afficher les variables du programme, modifier dynamiquement les variables du programme, etc. Voici quelques commandes de débogage de base :

  • Définir un point d'arrêt : cliquez sur l'espace vide à gauche de la ligne de code
  • Continuer l'exécution : F5
  • Exécution en une seule étape : F10
  • Exécution en une seule étape (saisie du fonction): F11
  • Exécution en une seule étape (fonction de saut): F11
  • Afficher la valeur de la variable: déplacez la souris vers la fenêtre d'invite sur la variable

L'interaction du débogueur dans VSCODE est très pratique et peut nous aider à localiser rapidement le programme problèmes et améliorer l’efficacité du débogage.

Résumé :

Ci-dessus sont trois façons de déboguer dans Golang. Chaque méthode a ses avantages et ses inconvénients. GDB est un débogueur très puissant qui peut être utilisé dans la plupart des langages de programmation, mais il est plus compliqué à utiliser ; Delve est une boîte à outils de débogage pour Golang, qui fournit de nombreuses fonctionnalités de débogage uniques de Golang ; prend en charge les plug-ins Golang, une excellente interface interactive de débogage, simple et facile à utiliser. J'espère que cet article pourra fournir de l'aide aux programmeurs qui ont des questions sur le débogage.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn