Maison > développement back-end > Golang > le corps du texte

Comment moduler le débogage de Golang

PHPz
Libérer: 2023-05-15 11:16:37
original
442 Les gens l'ont consulté

Golang est un langage fortement typé, c'est un langage d'exécution compilé, ce qui signifie que les utilisateurs doivent compiler le code pour pouvoir l'exécuter. Lorsque vous écrivez un logiciel de qualité, le débogage de votre code est très important. Lorsqu'un bug dans le code est découvert, cela peut entraîner l'échec du programme ou produire des résultats inattendus. Cet article explique comment déboguer les modules dans Golang.

  1. Débogage avec GDB

GDB est un puissant outil de débogage qui peut être utilisé dans de nombreux langages de programmation. Dans Golang, GDB peut être utilisé en conjonction avec la bibliothèque d'exécution Golang pour suivre l'état d'exécution du processus, les fuites de mémoire et d'autres problèmes. La première étape de l'utilisation de GDB consiste à utiliser l'indicateur -g lors de la compilation de votre code pour enregistrer les symboles et les informations de débogage. Par exemple :

go build -gcflags "-N -l" -o myapp main.go
Copier après la connexion

Ensuite, utilisez GDB pour exécuter le programme et définir des points d'arrêt. Par exemple, pour définir un point d'arrêt dans la fonction myFunc, exécutez la commande suivante :

(gdb) break myFunc
Copier après la connexion

Ensuite, exécutez le programme :

(gdb) run
Copier après la connexion

Une fois que le programme s'arrête au point d'arrêt myFunc, vous pouvez utiliser GDB pour inspecter les variables et appeler la pile et continuer en une seule étape Exécuter le programme ou modifier les variables directement dans le code.

  1. Déboguer avec Delve

Delve est un débogueur rapide, flexible et facile à utiliser qui fonctionne avec Golang. Contrairement à GDB, Delve a été développé spécifiquement pour Golang, il est donc très facile à utiliser et possède de nombreuses fonctionnalités spécifiques à Golang. Delve fournit des outils de ligne de commande et des API de débogage qui peuvent être utilisés à partir de la ligne de commande ou dans un IDE.

Vous devez d'abord utiliser l'outil go get pour installer Delve :

go get github.com/go-delve/delve/cmd/dlv
Copier après la connexion

Ensuite, utilisez la commande suivante pour démarrer le programme dans le débogueur :

dlv debug <your_program.go>
Copier après la connexion

Pendant le processus de démarrage du programme, Delve s'arrêtera automatiquement au premier ligne de code. Pour définir un point d'arrêt, vous pouvez appuyer sur Ctrl-C à tout moment ou entrer la commande break myFunc pour définir un point d'arrêt sur la fonction myFunc. Après avoir démarré le programme, lorsque le programme entre dans cette fonction, il s'arrêtera à ce point d'arrêt.

De nombreuses commandes peuvent être utilisées pour afficher et modifier l'état du programme. Certaines commandes courantes sont les suivantes :

  • Modifier la valeur d'une variable : set =
  • Imprimer la valeur d'une variable : print
  • Afficher le code source d'une fonction : list
  • Continuez l'exécution du programme jusqu'au point d'arrêt suivant : continue

Delve possède également d'autres fonctionnalités. Par exemple, vous pouvez installer le plug-in Delve dans l'EDI, activer le mode DEBUG, démarrer le programme. en un seul clic et ajoutez facilement des points d'arrêt.

  1. Débogage avec Log

Dans certains cas, si vous disposez d'une base de code importante ou si vous utilisez une architecture différente, le débogueur peut devenir trop complexe ou trop difficile à utiliser. Dans ce cas, il peut être préférable d'utiliser le débogage des journaux. Dans Golang, vous pouvez ajouter des journaux à votre code à l'aide du module de journalisation intégré pour capturer les problèmes qui surviennent lors de l'exécution du programme.

Le module de journalisation comporte principalement quatre niveaux de journalisation, à savoir INFO, AVERTISSEMENT, ERREUR et FATAL. Vous pouvez utiliser ce module pour vous connecter à un fichier ou sortir sur la console.

Par exemple, dans la fonction principale du programme, vous pouvez activer la journalisation au niveau DEBUG en utilisant le code suivant :

import "log"

func main() {
    log.SetFlags(log.LstdFlags | log.Lshortfile)
    log.SetLevel(log.DebugLevel)

    log.Debug("Starting program...")
    // ...
}
Copier après la connexion

Vous pouvez ensuite vous connecter n'importe où dans le code :

log.Debugf("x=%d", x)
Copier après la connexion

Lorsque le programme est en cours d'exécution, l'appel de n'importe quelle fonction de journalisation sera Écrit le message approprié sur la sortie standard, telle qu'un terminal ou un fichier de sortie.

Résumé

Peu importe l'outil que vous choisissez d'utiliser ou le style de débogage que vous préférez, le débogage est un outil essentiel pour rechercher et résoudre les problèmes avec tous les programmes. Dans Golang, vous pouvez utiliser GDB, Delve ou log pour déboguer et affiner votre code. Utilisez ces outils et techniques pour améliorer la lisibilité, les performances et la robustesse du code, rendant ainsi votre logiciel plus fiable.

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!

source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal