Maison > développement back-end > Golang > Comment puis-je détecter si le débogueur GoLand est connecté à un programme Go ?

Comment puis-je détecter si le débogueur GoLand est connecté à un programme Go ?

Mary-Kate Olsen
Libérer: 2024-11-25 13:30:12
original
1006 Les gens l'ont consulté

How Can I Detect if the GoLand Debugger is Attached to a Go Program?

Détection de la présence du débogueur GoLand dans un programme en cours d'exécution

Dans Go, contrairement à C# où System.Diagnostics.Debugger.IsAttached peut être utilisé pour détecter la présence du débogueur, il existe pas d'équivalent direct. Pour résoudre ce problème, une approche consiste à exploiter les balises de build avec le débogueur Delve.

Utilisation des balises de build

Créez deux fichiers :

  • isdelve/delve.go :
// +build delve

package isdelve

const Enabled = true
Copier après la connexion
  • isdelve/nodelve.go :
// +build !delve

package isdelve

const Enabled = false
Copier après la connexion

Dans votre programme principal, importez le package isdelve et vérifiez le Constante activée :

import "isdelve"

func main() {
    fmt.Println("delve", isdelve.Enabled)
}
Copier après la connexion

Activation des balises de build dans GoLand

Dans GoLand, accédez à « Configurations d'exécution/débogage » et dans « Arguments de l'outil Go », ajoutez :

-tags=delve
Copier après la connexion

Maintenant, l'exécution du programme dans GoLand activera la balise delve build, vous permettant d'accéder au isdelve.Enabled constante.

Utilisation de la commande set de Delve

Vous pouvez également utiliser la commande set de Delve pour définir une variable après le démarrage du débogueur :

dlv debug a.go
(dlv) set debug.enabled true
Copier après la connexion

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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal