web-dev-qa-db-fra.com

Navigation dans la pile d'appels Java dans Eclipse

Dans les débogueurs tels que GDB , lorsque vous vous arrêtez à un point d'arrêt, vous pouvez facilement remonter la pile d'appels et examiner les données de source et de cadre de pile appropriées. 

Comment faites-vous cela dans Eclipse?

33
Mark

Dans la perspective " debug ", affichez la vue nommée "debug". Pour chaque thread actuellement interrompu, cette vue affiche la pile d'appels complète. En cliquant sur un élément de cette pile, vous passez de la vue éditeur à la classe correspondante. La vue "variables" affiche les variables de cet élément de la pile.

49
Riduidel

Notez que votre "perspective de débogage" peut être réduite au mode d'affichage "fil d'Ariane" par défaut, ce qui signifie que vous ne verrez qu'une ligne à la fois de la trace de pile.

Pour le développer complètement et voir la trace de la pile dans un arbre:

  • cliquez sur la flèche vers le bas dans le coin supérieur droit de la vue de débogage.
  • choisissez "Layout | Tree" 
2
Brad Parks

il suffit de cliquer sur le cadre de la pile dans la vue Débogage.

1
Omry Yadan

Dans le débogueur visuel, vous verrez toute la trace de la pile. CLIQUEZ simplement sur le niveau que vous souhaitez inspecter pour le faire. Définitivement plus facile que d’utiliser gdb orders. :-)

1
Pablo Santa Cruz

Commencez par définir un ou plusieurs points d'arrêt dans votre code qui vont être touchés, puis déboguez votre application de l'une des manières suivantes:

  • Assurez-vous que le fichier contenant votre méthode main est actuellement sélectionné.
  • Hit F11

ou

  • Cliquez avec le bouton droit sur le fichier dans Package Explorer qui contient votre méthode main.
  • Sélectionnez Déboguer en tant que> Application Java.

Eclipse devrait maintenant afficher la "perspective de débogage" (elle peut être ouverte manuellement à l'aide de Fenêtre> Perspective> Ouvrir une perspective> Débogage).

Une fois qu'un de vos points d'arrêt a été atteint, vous devriez voir un cadre dans la perspective de débogage intitulé 'Débogage' (pour ouvrir manuellement, utilisez Fenêtre> Afficher la vue> Débogage). Cela ressemble à ceci:

 enter image description here

La zone dans laquelle j'ai grisé montre chaque étape de la trace de pile pour le thread actuellement suspendu sur le point d'arrêt. La partie réelle de la pile d'appels actuellement en pause est surlignée en gris (ainsi, si vous avez plusieurs threads, vous pouvez voir lequel est actuellement en pause en recherchant la ligne en surbrillance). En cliquant sur n'importe quelle ligne de la vue de trace de la pile, des détails apparaîtront (par exemple, des "variables" à cet endroit de la pile).

0
Chris Halcrow