Eclipse - débogueur ne s'arrête pas au point d'arrêt
Je suis en train de dépanner un JUnit. Dans le code source, j'ai mis un point de rupture dans deux endroits: 1) dans une ligne où un membre statique est initialisé 2) la première ligne de l'un des cas de test.
Le débogueur s'arrête dans le champ statique de l'initialisation de la ligne. Mais il ne s'arrête pas dans le cas du test. Peu importe où j'ai mis le point de rupture dans le cas de test, le débogueur ne s'arrête pas là. Je sais pour sûr que le cas de test est exécuté comme je peux voir les messages de journal que j'ai ajouté apparaître dans le journal.
Toute aide serait grandement appréciée.
Je suis à l'aide d'Eclipse Galileo et JUnit4 lanceur.
- Votre code est compilé avec l'option-g allumé pour générer les informations de débogage dans le .fichier de classe? C'est nécessaire, bien sûr.
- Oui il est compilé avec l'option-g.
- Pouvez vous aussi ajouter des informations à propos de la version de JUnit et le JRE que vous utilisez? Je crois que c'est utile dans ce contexte.
- Le JDK utilisé est plus important dans le chemin (il y a quelques foiré Jdk qui pourrait en être la cause). S'il vous plaît ignorer la requête sur la version de JUnit.
- Désolé, j'aurais dû ajouter que. JDK 1.6 mise à jour 14.
- Hmm essayer la rétrogradation à la JDK 5 ou une diminution de la version du JDK 6 (certainement pas 13), ou passez en parallèle de nettoyage GC.
Vous devez vous connecter pour publier un commentaire.
Cela pourrait être lié à l'une des bugs dans JDK 6 Update 14, comme indiqué dans les notes de version de JDK 6 update 15.
Si cela s'avère être le problème, vous devez passer à une version supérieure de la JDK (ce n'est pas garantie, mais, depuis des correctifs ont été libérés contre 6u16, 6u18 et 7b1). Le meilleur pari est d'utiliser -XX:+UseParallelGC drapeau. L'augmentation de la taille minimale et la taille maximale du tas, afin de retarder la première GC, apporter un soulagement temporaire.
Par la façon dont, à l'utilisation ce rapport de bug dans Eclipse pour suivre la façon dont d'autres ont été en sortent.
Correctif pourrait être aussi simple que de cliquer courir/sauter tous les points d'arrêt. A travaillé pour moi.
Assurez-vous que, en vertu de l'Exécuter > Debug Configurations, que "l'Arrêt au principal" est sélectionné, si applicable à votre situation.
Généralement, lorsque cela m'arrive (ce qui est rare, mais il ne signifie que l'exécution d'un code est différent de celui du code dans l'éditeur. Il va se produire de temps à autre pour Eclipse que les classes et le code dans l'éditeur sont désynchronisés. Quand cela arrive, je reçois toute sorte de bizarre débogueur comportement (débogage des lignes vides, en sautant des lignes de codes, etc).
Redémarrage d'Eclipse, nettoyer tous les projets et tout reconstruire généralement efface les choses. J'ai eu aussi les plugins Maven (les anciennes versions... n'avait pas eu pendant un certain temps maintenant) qui avait tendance à le faire aussi.
Autrement, cela pourrait être un bug, peut-être que l'un de Vineet a déclaré,
Espère que cette aide
Vous pourriez avoir accidentellement sauté tous points de rupture dans l'Éclipse de la barre d'outils. Pour corriger cela, ouvrez Eclipse -> Exécuter -> Sauter Tous les points d'arrêt.
Projet -> Nettoyer semblait fonctionner pour moi sur JRE 8
Supprimer tous les points d'arrêt et les rajouter.
Pour JDK7, exécuter->Debug Configurations, cocher la case "Garder JUnit courir après un essai lors du débogage".
M'est arrivé une fois, quand je n'avais pas coché "Exécuter > compiler automatiquement" et j'ai oublié de re-vérifier.
Assurez-vous de déclarer le colis en haut.
Dans mon code groovy cela s'arrête à des points d'arrêt:
Cela ne s'arrête pas à des points d'arrêt:
Pour débogueur de travail à distance, la java .les fichiers de classe doivent être remplies avec les informations de débogage. Si "-g:aucun" option a été adoptée à compilateur, alors le fichier de la classe n'aura pas l'information nécessaire et, partant, le débogueur ne sera pas en mesure de faire correspondre les points d'arrêt dans le code source avec cette classe à distance. En attendant, si les pots/fichiers de classe ont été obscurci, alors elle n'aura pas les informations de débogage. En fonction de vos réponses, plus probablement, ce n'est pas votre cas, mais cette information pourrait être utile pour d'autres personnes qui font face au même problème.
Dans mon cas, le problème était que je n'avais pas vue Débogage ouvert en Debug point de vue, donc:
1 - assurez-vous d'avoir debug perspective s'est ouverte:
2 - assurez-vous que vous avez vue de débogage ouvert:
Pour supprimer les points d'arrêt:
Également vérifier si des points d'arrêt sur les autres lignes, c'est peut-être un bug dans le débogueur. J'ai eu un problème avec le débogueur Eclipse où mettre un point d'arrêt sur un booléen affectation dont le code est sur la ligne suivante ne fonctionne pas Je l'ai signalé ici, mais de le mettre sur le précédent ou suivant de la ligne de fait.
Si rien ne fonctionne-
Un autre problème possible est que le port du débogueur peut être bloqué par le pare-feu. Par exemple, j'ai été en utilisant mule anypoint studio (v 5.4.3). Le débogueur par défaut port 6666. Lorsqu'un flux est exécuté, il ne serait pas s'arrêter au point d'arrêt. quand j'ai changé le port à un autre (p. 8099), il a bien fonctionné.
Aller à
Right click->Debug Configuration
et vérifier si un trop grand nombre de débogage des instances sont créées.Mon problème a été résolu lorsque j'ai supprimé plusieurs de débogage instances de configuration et fraîchement commencé le débogage.
Si vous êtes sur Eclipse,
Clic droit sur votre dossier de projet en vertu de la vue "Package Explorer".
Goto Source -> Nettoyer et de choisir votre projet.
Ce sera nettoyage de tous les gâchis et votre point de rupture devrait maintenant fonctionner.
La création d'un nouvel espace de travail a fonctionné pour moi.
Dans mon cas, j'avais plusieurs projets en même espace de travail. Le fichier java j'essayais de débogage a été présent dans plusieurs projets avec le même package.
Je n'ai pas besoin de l'autre projet, tout simplement fermé projets indépendants (ou supprimer le fichier à partir indépendants de projet).
Un commentaire supplémentaire concernant Vineet Reynolds réponse.
J'ai découvert que j'avais à définir
-XX:+UseParallelGC
danseclipse.ini
J'configuration de la machine virtuelle (vm) arguments comme suit
qui a résolu le problème.
C'est ce qui fonctionne pour moi:
J'ai dû mettre mon adresse du serveur local dans le Serveur PHP de configuration comme ceci:
Note: cette adresse est celle que j'ai configurer dans mon Apache .conf fichier.
Note: le seul point d'arrêt de travail a été a été le Break en première ligne", après cela, les points d'arrêt ne fonctionne pas.
Note: vérifiez votre xdebug propriétés dans votre php.ini fichier, et supprimer tout ce que vous pensez n'est pas nécessaire.