53 votes

Déplacement du pointeur d'instruction lors du débogage de Java dans Eclipse

Puis-je déplacer le pointeur d'instruction directement vers une ligne de mon choix (dans la méthode actuelle) lors du débogage d'un programme Java dans Eclipse (Galileo)?

Il est facile de faire glisser le pointeur d'instruction sur la ligne souhaitée dans une méthode dans Visual Studio, mais je ne vois pas comment le faire dans Eclipse (et je ne trouve rien à ce sujet dans la documentation ou sur Google).

34voto

John S. Points 819

J'ai eu à regarder ce point une fois avant et a atterri sur ce thread dernier moment, trop, parce qu'il est en tête de résultats de google. Je vais poster cela ici donc, la prochaine fois j'oublie que je n'aurai pas de continuer à chercher! :) J'espère que ça peut aider d'autres personnes aussi!

C'est tout à fait possible...

http://help.eclipse.org/galileo/index.jsp?topic=/org.eclipse.jdt.doc.user/tips/jdt_tips.html

Baisse de frame - Lorsque vous exécutez votre code, vous pouvez parfois trop loin, ou étape sur une ligne que vous vouliez entrer dans. Plutôt que de redémarrer votre session de débogage, vous pouvez utiliser le Déposer à Cadre d'action pour rapidement revenir au début d'une méthode. Sélectionnez la trame de pile correspondant à la méthode de Java que vous souhaitez recommencer, et sélectionnez déplacer à l'Image de vue de Débogage de la barre d'outils ou la pile du cadre menu contextuel. Le pointeur d'instruction en cours sera remis à l' la première instruction exécutable dans la méthode. Cela fonctionne pour les non-sommet de la pile les cadres ainsi.

Notez que la Baisse de frame est disponible uniquement lorsque le débogage avec un 1.4 ou plus de la VM, ou le J9 VM. Il y a certaines situations où une JVM peut être incapable de faire éclater le cadre de la pile. Par exemple, il est généralement impossible de laisser tomber sur le cadre inférieur de la pile ou de l'une des images ci-dessous une méthode native.

15voto

ankon Points 1576

Ce n'est pas possible.

Si vous voulez simplement exécuter du code à l'emplacement actuel, vous pouvez utiliser la vue Expressions et entrer votre code en tant qu'expression. Les méthodes appelées par l'expression expression seront exécutées dans le contexte de débogage actuel.

0voto

violoncello Points 1

J'aime mieux la réponse d'Ankon, mais une autre option (qui ne fonctionnera que pour votre cas spécifique) consiste à s'arrêter à un point d'arrêt sur votre if et à modifier la ou les variables évaluées dans le conditionnel tel que qu'il renvoie false (dans la vue "Variables", cliquez avec le bouton droit de la souris sur une variable et cliquez sur "Modifier la valeur ...")

0voto

user1294431 Points 122

J'ai pensé que c'était tout à fait possible dans les anciennes versions d'eclipse, j'ai pensé que j'avais la mémoire de le faire, mais je suppose que j'ai juste implantés que la mémoire lorsque j'ai travaillé dans Visual Studio. À partir de ce que je suis en train de lire, il pourrait venir à la jvm et pas de l'éclipse elle-même, il y a des pages où il est suggéré que la jvm ne peut pas gérer cela.

À mon avis, Eclipse est beaucoup de beaucoup de fois mieux que VS, j'ai beaucoup travaillé dans les deux, et depuis que j'ai découvert Eclipse j'ai toujours été dans la douleur lorsque j'ai eu à travailler dans VS. Mais n'ayant pas cette caractéristique est certainement blesser maintenant hehe.

0voto

Bananeweizen Points 12524

Vous pouvez accéder directement à tout autre appel de méthode dans la méthode actuellement déboguée. Sélectionnez un appel de méthode sous le pointeur de votre instruction actuelle et utilisez " Pas à pas dans la sélection " dans le menu contextuel.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X