Maison > développement back-end > Golang > Comment déboguer les programmes Go avec GoClipse : code assembleur vs code Go ?

Comment déboguer les programmes Go avec GoClipse : code assembleur vs code Go ?

DDD
Libérer: 2024-10-24 05:25:02
original
995 Les gens l'ont consulté

How to Debug Go Programs with GoClipse: Assembly Code vs. Go Code?

Débogage des programmes Go avec GoClipse : code assembleur vs code Go

Lors du débogage de programmes Go à l'aide de GoClipse, vous pouvez rencontrer une situation où le le débogueur parcourt le code assembleur au lieu du code Go, même après avoir défini des points d'arrêt. Ceci est généralement dû à un paramètre inapproprié dans les options de configuration de lancement.

Comprendre la vue Debug

Lorsque votre programme Go s'arrête pendant le débogage, la vue Debug dans Eclipse s'affiche une trace de pile. S'il ressemble à ce qui suit :

<code class="text">Thread [1] 0 (Suspended : Breakpoint)   
main() at rt0_windows_amd64.s:15 0x42a400   
KERNEL32!BaseThreadInitThunk() at 0x773259ed    
0x0 </code>
Copier après la connexion

Cela indique que le programme s'est automatiquement arrêté au niveau de la fonction "principale" au démarrage. Cependant, il ne s'agit pas de la fonction "principale" de Go mais plutôt d'une fonction "principale" interne d'exécution écrite en C.

Résoudre le problème

Pour résoudre ce problème, vérifiez les options de configuration de lancement et recherchez la première option. Il peut indiquer "Default main() (runtime/rt0_*)" ou "main.main() (source code input point)" ou quelque chose de similaire.

S'il est défini sur "Default main() (runtime /rt0_*)", remplacez-le par "main.main() (point d'entrée du code source)". Alternativement, vous pouvez simplement décocher l'option.

Une fois que vous avez apporté les modifications nécessaires, cliquez sur "Exécuter / Reprendre" (F8) pour continuer le débogage. Le débogueur va maintenant parcourir votre code Go plutôt que le code assembleur.

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