J'essaye de résoudre un problème avec une JUnit. Dans le code source, j'ai défini le point d'arrêt à 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 la ligne d'initialisation du champ statique. Mais cela ne s'arrête pas dans le cas de test. Peu importe où j'ai défini le point d'arrêt dans le scénario de test, le débogueur ne s'arrête pas là. Je sais avec certitude que le cas de test est exécuté car je peux voir les messages de journal que j'ai ajoutés apparaître dans le journal.
Toute aide serait grandement appréciée.
J'utilise Eclipse Galileo et le lanceur JUnit4.
Réponses:
Cela pourrait être lié à l'un des bogues de la mise à jour 14 du JDK 6, comme indiqué dans les notes de publication de la mise à jour 15 du JDK 6 .
Si cela s'avère effectivement être le problème, vous devriez passer à une version supérieure du JDK (ce n'est cependant pas une garantie, puisque des correctifs ont été publiés contre 6u16, 6u18 et 7b1 ). Le meilleur pari est d'utiliser -XX: + UseParallelGC flag. L'augmentation de la taille de la taille de tas minimale et maximale, pour retarder le premier GC, apporte un soulagement temporaire.
À propos, utilisez ce rapport de bogue dans Eclipse pour suivre l'évolution des autres.
la source
Le correctif peut être aussi simple que de cliquer sur exécuter / ignorer tous les points d'arrêt. A travaillé pour moi.
la source
Assurez-vous, sous Exécuter> Configurations de débogage, que «Arrêter dans main» est sélectionné, si cela s'applique à votre situation.
la source
Habituellement, lorsque cela m'arrive (rare mais c'est le cas), cela signifie que le code en cours d'exécution est différent du code dans l'éditeur. Il arrivera de temps en temps pour Eclipse que les classes construites et le code dans l'éditeur ne soient pas synchronisés. Lorsque cela se produit, j'obtiens toutes sortes de comportements de débogage étranges (débogage de lignes vides, saut de lignes de codes, etc.).
Redémarrer Eclipse, nettoyer tous les projets et tout reconstruire efface généralement les choses. J'avais aussi les plugins Maven (les anciennes versions ... ne l'avaient pas eu depuis un moment maintenant) qui avaient tendance à faire ça aussi.
Sinon, cela pourrait être un bug, peut-être celui que Vineet a déclaré,
J'espère que cela t'aides
la source
Vous avez peut-être ignoré accidentellement tous les points d'arrêt dans la barre d'outils Eclipse. Pour résoudre ce problème, accédez à Eclipse -> Exécuter -> Ignorer tous les points d'arrêt.
la source
Projet -> Clean semblait fonctionner pour moi sur JRE 8
la source
Pour que le débogueur fonctionne avec remote, les fichiers java .class doivent être respectés avec les informations de débogage. Si l' option " -g: none " a été passée au compilateur, alors le fichier de classe n'aura pas les informations nécessaires et le débogueur ne pourra donc pas faire correspondre les points d'arrêt sur le code source avec cette classe à distance. Pendant ce temps, si les fichiers jars / class étaient obscurcis , ils n'auront pas non plus d'informations de débogage. Selon vos réponses, ce n'est probablement pas votre cas, mais cette information pourrait être utile pour d'autres personnes confrontées au même problème.
la source
Dans mon cas, le problème était que je n'avais pas ouvert la vue de débogage dans la perspective de débogage, donc:
1 - Assurez-vous que la perspective de débogage est ouverte:
2 - Assurez-vous que la vue de débogage est ouverte:
la source
Supprimez tous les points d'arrêt et ajoutez-les de nouveau.
la source
Pour JDK7, run-> Debug Configurations, cochez "Keep JUnit running after a test run when debugging".
la source
Cela m'est arrivé une fois, lorsque j'avais décoché "Exécuter> Construire automatiquement" et que j'avais oublié de le revérifier.
la source
Assurez-vous de déclarer le colis en haut. Dans mon code groovy, cela s'arrête aux points d'arrêt:
Cela ne s'arrête pas aux points d'arrêt:
la source
Pour supprimer les points d'arrêt :
la source
Vérifiez également si les points d'arrêt sur d'autres lignes fonctionnent, cela peut être un bogue dans le débogueur. J'ai eu un problème avec le débogueur Eclipse où mettre un point d'arrêt sur une affectation booléenne dont le code était sur la ligne suivante ne fonctionnait pas. J'ai signalé cela ici , mais le mettre sur la ligne précédente ou suivante l'a fait.
la source
Si rien ne fonctionne-
la source
Un autre problème possible est que le port du débogueur peut être bloqué par le pare-feu. Par exemple, j'utilisais mule anypoint studio (v 5.4.3). Le port du débogueur par défaut est 6666. Lorsqu'un flux est exécuté, il ne s'arrête pas au point d'arrêt. quand j'ai changé le port pour un autre (par exemple 8099), cela a bien fonctionné.
la source
Accédez à
Right click->Debug Configuration
et vérifiez si trop d'instances de débogage sont créées. Mon problème a été résolu lorsque j'ai supprimé plusieurs instances de débogage de la configuration et le débogage fraîchement commencé.la source
Si vous êtes sur Eclipse,
Cliquez avec le bouton droit sur votre dossier de projet sous "Package Explorer".
Allez à la source -> Nettoyez et choisissez votre projet.
Cela nettoiera tout désordre et votre point de rupture devrait fonctionner maintenant.
la source
Créer un nouvel espace de travail a fonctionné pour moi.
la source
Dans mon cas, j'avais plusieurs projets dans le même espace de travail. Le fichier java que j'essayais de déboguer était présent dans plus d'un projet avec le même package.
Je n'avais pas besoin de l'autre projet, donc j'ai simplement fermé les projets non liés (ou supprimez le fichier d'un projet non lié).
la source
Un commentaire supplémentaire concernant la réponse de Vineet Reynolds.
J'ai découvert que je devais mettre
-XX:+UseParallelGC
eneclipse.ini
Je configure les arguments de la machine virtuelle (vm) comme suit
cela a résolu le problème.
la source
C'est ce qui fonctionne pour moi:
J'ai dû mettre l'adresse de mon serveur local dans la configuration du serveur PHP comme ceci:
Remarque : cette adresse, est celle que je configure dans mon fichier Apache .conf .
Remarque : le seul point d'arrêt qui fonctionnait était le «Pause à la première ligne», après cela, les points d'arrêt ne fonctionnaient pas.
Remarque : vérifiez vos propriétés xdebug dans votre fichier php.ini et supprimez celles que vous jugez inutiles .
la source