Maison >développement back-end >Golang >Parlons des outils de débogage de Golang
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.
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 :
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.
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 :
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.
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
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 :
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!