Je passe beaucoup de temps à déboguer des applications dans Eclipse à l'aide de JPDA. Il y a quelques problèmes avec le débogueur Eclipse qui m'énerve vraiment. Quelqu'un peut-il recommander des plug-ins, de meilleurs debuggers ou peut-être des tours que je ne connaissais pas encore? P>
8 Réponses :
J'utilise Netbeans et son débogueur. P>
À propos de votre troisième point (Exceptions): Je ne pense pas qu'il y ait une autre façon de voir l'état au point où l'exception est lancée. Lorsque l'exception est jetée hors de la méthode, le cadre de la pile de cette méthode a été rejeté - il est perdu de sorte que vous ne puissiez pas inspecter la diffusion. P>
Le débogueur NetBeans ne vous permet également pas de passer par ByTecode, autant que je sache. p>
Ordinairement, je dirais que Eclipse a un meilleur débogage que mon IDE préféré, Intellij (Edition gratuite) pour les quatre premiers, Intellij est peut-être meilleure avec des points d'arrêt sur des exceptions (qui vous permettent de voir l'état au point à la suite de l'exception. est lancé), les rendriers personnalisés pour les types d'objets et les expressions persistantes (c'est-à-dire que l'expression est réévaluée chaque fois que vous modifiez le contexte) p>
Je ne connais aucun débogueur qui participera au code d'octet. p>
"Intellij est peut-être meilleure avec des points d'arrêt sur des exceptions (qui vous permettent de voir l'état au point lorsque l'exception est lancée)" - Eclipse le fait aussi.
J'utilise le débogueur Eclipse depuis un moment et partagez certaines de vos préoccupations. Cependant, certains des points que vous mentionnez ont été résolus / adressés dans le débogueur Eclipse: P>
Structures de données: La vue Variables a déjà la possibilité d'afficher la "structure logique" des listes / des ensembles / des tableaux, etc. Il existe un bouton dans le coin supérieur gauche de cette vue pour activer ceci. Vous pouvez également ajouter vos propres représentations personnalisées dans les préférences Java-> Débogou-> Structures logiques. P>
Exceptions: Le débogueur vous permet de définir des points d'arrêt d'exception (Ajouter un bouton d'arrêt d'exception Java dans la vue Points d'arrêt). Ces points d'arrêt sont déclenchés lorsqu'une exception particulière est lancée. p>
code source: si vous installez un plugin (p. Ex. ASM Byte Code Code Plugin http://asm.ow2.org/ Eclipse / Index.html ) comportant un spectateur pour Bytecode, le débogueur passera par le bytecode lorsque le code source est manquant. P>
Je suis d'accord avec une grande partie de ce que dit Vilas Jagannath. P>
Utiliser le débogueur Eclipse Points supplémentaires: P>
1) la vue d'affichage. Cette vue vous permet d'exécuter du code dans le contexte du cadre de pile actuel. Cela vous permet d'inspecter des bits de code arbitraires. D'une certaine manière, c'est un peu primitif, mais cela fonctionne bien comme un tampon de gratter. P>
4) Si vous souhaitez passer à une méthode, appelez une ligne avec une expression complexe, vous pouvez naviguer vers cette fonction, puis «exécuter à la ligne» (Ctrl + R) P>
5) Vous pouvez également utiliser Step Filtres pour filtrer des cours que vous ne vous souciez pas. Faites un clic droit sur le cadre de pile que vous ne vous souciez pas et appuyez sur «Type de filtre». Assurez-vous d'avoir «Utiliser des filtres à pas». C'est l'icône avec deux flèches à droite du bouton de châssis de la chute de la vue de débogage. P>
Voici ma réponse - Les balles sont dans le même ordre que votre question balles: p>
Je crois qu'ils ont toujours quoi d'améliorer mais ces conseils pourraient vous aider un peu. P>
Quand je marche sur une ligne avec De nombreuses déclarations sur elle, je ne peux pas voir qui de ces déclarations est en cours d'exécution, sauf en "pas en marche dans "à chacun de voir où il faut moi. p> blockQuote>
Sélectionnez la fonction que vous souhaitez entrer dans et utiliser "pas en sélection" (je l'ai sur Ctrl-F5, mais vous pouvez le trouver dans le menu contextuel). P>
Au fur et à mesure de la variante, vous pouvez litière votre code avec log.debug et system.out.println's, ce qui signifie que vous pouvez faire ce que vous voulez! p>
Pour quelque chose de différent d'un débogueur d'interface graphique, j'ai un projet appelé JDIScript qui vous permet de scripter L'interface Java de débogueur de JVM. Je l'ai constaté particulièrement utile pour dépanner la conflit de discussion et la recherche de problèmes qui ne semblent que surprendre sporadiquement sous des charges de production. p>
Dupliqué possible de Recommander un débuger Java