Maison  >  Article  >  développement back-end  >  Comment déboguer les programmes Go dans GoClipse : gestion du code assembleur dans le débogueur ?

Comment déboguer les programmes Go dans GoClipse : gestion du code assembleur dans le débogueur ?

Susan Sarandon
Susan Sarandonoriginal
2024-10-24 03:32:31338parcourir

How to Debug Go Programs in GoClipse: Handling Assembly Code in the Debugger?

Comment déboguer des programmes Go à l'aide de GoClipse : débogage du code d'assemblage

Lors du débogage de programmes Go à l'aide de GoClipse, un comportement inattendu peut se produire aux étapes du débogueur via le code assembleur au lieu du code Go. Ce problème peut survenir lorsque la vue Debug affiche une trace de pile similaire à la suivante :

Thread [1] 0 (Suspended : Breakpoint)   
    main() at rt0_windows_amd64.s:15 0x42a400   
    KERNEL32!BaseThreadInitThunk() at 0x773259ed    
    0x0 

Cause :

Ce phénomène se produit lorsque le programme s'arrête automatiquement à la fonction "principale" d'exécution interne au démarrage. Cette fonction est écrite en C et manque de code source, ce qui oblige le débogueur à afficher le code assembleur.

Solution :

Pour résoudre ce problème :

  1. Dans les options de configuration de lancement, localisez la première option.
  2. Remplacez-la par "main.main" pour vous arrêter au principal Go actuel.
  3. Vous pouvez également décocher l'option permettant de désactiver l'automatique. arrêt.

Une fois cela fait, vous pouvez cliquer sur Exécuter / Reprendre (F8) pour continuer le débogage. Le débogueur parcourra désormais le code Go au lieu du code assembleur. En suivant ces étapes, vous pouvez déboguer efficacement les programmes Go sans rencontrer ce problème potentiel.

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