388 votes

Eclipse - Impossible d'installer un point d'arrêt en raison de l'absence d'attributs de numéro de ligne

J'obtiens cette étrange erreur dans Eclipse lorsque j'essaie de définir un point d'arrêt.

Unable to insert breakpoint Absent Line Number Information

J'ai coché la case des options du compilateur, mais sans succès.

0 votes

Pouvez-vous faire un javap -verbose sur le fichier de classe et coller l'information ici ? Voyez s'il y a vraiment un numéro de ligne.

3 votes

Salut yx, j'ai fait un javap sur cette classe. Il génère les numéros de ligne

0 votes

Bizarrement, je viens de rencontrer ce problème avec le plugin BlackBerry, Eclipse 3.5, rien à voir avec Tomcat. Et moi aussi, il s'arrête aux breakpoints, sauf pour l'un d'entre eux... si je trouve une réponse, je posterai.

4voto

chrisjleu Points 1202

J'ai eu ce problème en essayant de démarrer Tomcat en mode débogage depuis Eclipse. J'avais un fichier de construction ANT qui s'occupait de la compilation et du déploiement. Après avoir mis le drapeau de débogage à true (comme mentionné dans d'autres réponses) et redéployé l'application, tout s'est bien passé :

<javac srcdir="./src/java" destdir="./bin" debug="true">

NOTE : si vous venez d'ajouter le drapeau de débogage et de recompiler, vous devez toujours redéployez votre application au serveur puisque c'est là qu'Eclipse débogue les fichiers de classe. C'est très évident mais il est facile de passer une heure ou plus à se gratter la tête et à se demander pourquoi cela ne fonctionne pas (croyez-moi).

4voto

fairjm Points 64

Essayer de changer le jre que vous utilisez. jre dans le dossier de JDK à la place.

4voto

Comme j'ai 6 versions différentes de Java installées, j'ai dû modifier ma conformité JDK par défaut pour qu'elle corresponde à celle de la version de Java que je voulais utiliser. Eclipse avait par défaut le niveau de conformité du compilateur défini sur Java 1.7 alors que tout a été construit/compilé en utilisant Java 1.6.

Donc tout ce que j'ai fait c'est

  1. Dans le menu d'eclipse, allez à Fenêtre->Préférences->Java->Compilateur
  2. Sous Conformité JDK, j'ai changé le niveau de conformité du compilateur de 1.7 à 1.6.

Maintenant, Eclipse ne se plaint plus du message "Unable to insert breakpoint Absent Line Number Information" et les points d'arrêt de débogage fonctionnent réellement !!!

4voto

Christos Points 577

Si rien d'autre ne fonctionne, ouvrez la perspective de débogage, effacez tous les points d'arrêt existants, puis remettez-les en place.

2voto

gmale Points 3252

Ma situation était similaire :

  • J'étais en train de déboguer un test JUnit
  • J'utilisais Mockito pour créer un espion, comme dans spyTask = spy(new Task())
  • J'ai placé le point d'arrêt à l'intérieur de la classe que j'espionnais (à l'intérieur de Task.java )

Ce point d'arrêt génère l'erreur en question, chaque fois que j'exécute Debug As... > JUnit Test

Pour résoudre le problème, j'ai déplacé le point d'arrêt "vers le haut" dans le test lui-même (dans TaskTest.java). Une fois l'exécution arrêtée, j'ai ajouté le point d'arrêt à l'endroit où il se trouvait à l'origine (dans Task.java).

J'ai toujours la même erreur mais après avoir cliqué sur "ok", le point d'arrêt a bien fonctionné.

J'espère que cela aidera quelqu'un,

-mâle

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