Les symptômes décrivent parfaitement le cas où la classe trouvée n'a pas de source associée (ou assignée).
- Vous pouvez associer les sources des classes JDK dans Préférences > Java > JRE installé . Si JRE (et non JDK) est détecté comme JRE par défaut à utiliser, alors vos classes JDK n'auront pas de sources jointes. Notez que, toutes les classes JDK n'ont pas de sources fournies, certaines d'entre elles sont distribuées sous forme binaire uniquement.
- Les classes du chemin de construction du projet, ajoutées manuellement nécessitent que vous attachiez manuellement la source associée. La source peut résider dans un fichier zip ou jar, dans l'espace de travail ou dans le système de fichiers. Eclipse analysera le zip, de sorte que vos sources ne doivent pas nécessairement se trouver dans le Root du fichier d'archive, par exemple.
- Classes, de dépendances provenant d'autres plugins (maven, PDE, etc.). Dans ce cas, c'est au plugin de décider comment la source sera fournie.
-
PDE exigera que chaque plugin ait une XXX.source qui contient la source du plugin. Plus d'informations peuvent être trouvées ici et ici .
-
m2eclipse peut récupérer les sources et les javadocs des dépendances Maven si elles sont disponibles. Cette fonctionnalité doit être activée m2eclipse (l'option était nommée quelque chose comme " Télécharger les sources et les javadocs ".
- Pour les autres plugins, vous devrez consulter leur documentation.
- Les classes, qui sont chargées depuis votre projet, sont automatiquement mises en correspondance avec les sources du projet.
Mais que se passe-t-il si Eclipse suggère toujours de joindre la source, même si j'ai correctement défini mes classes et leurs sources :
Cela signifie presque toujours qu'Eclipse trouve la classe à un endroit différent de celui auquel vous vous attendez. Inspectez votre chemin de recherche de la source pour voir où il pourrait trouver la mauvaise classe. Mettez à jour le chemin en fonction de vos conclusions.
Eclipse ne trouve rien du tout, lorsque le point d'arrêt est atteint :
Cela se produit lorsque le chemin de recherche de la source ne contient pas la classe qui est actuellement chargée dans le runtime. Même si la classe se trouve dans l'espace de travail, elle peut être invisible pour la configuration de lancement, car Eclipse suit strictement le chemin de recherche de la source et n'attache que les dépendances du projet, qui est actuellement débogué.
Les paquets de débogage de la section PDE . Dans ce cas, comme le runtime est composé de plusieurs projets, qui n'ont pas à déclarer de dépendances entre eux, Eclipse trouvera automatiquement la classe dans l'espace de travail, même si elle n'est pas disponible dans le chemin de recherche des sources.
Je ne peux pas voir les variables lorsque j'atteins un point d'arrêt ou bien il ouvre simplement la source, mais ne sélectionne pas la ligne du point d'arrêt :
Cela signifie qu'au moment de l'exécution, la JVM ou les classes elles-mêmes ne disposent pas des informations de débogage nécessaires. Chaque fois que les classes sont compilées, des informations de débogage peuvent être jointes. Afin de réduire l'espace de stockage des classes, ces informations sont parfois omises, ce qui rend le débogage d'un tel code pénible. Votre seule chance est d'essayer de recompiler avec le débogage activé.
Le visualiseur de sources d'Eclipse montre des lignes différentes de celles qui sont réellement exécutées :
Il peut parfois montrer que l'espace vide est aussi bien exécuté. Cela signifie que vos sources ne correspondent pas à votre version d'exécution des classes. Même si vous pensez que ce n'est pas possible, ça l'est, donc assurez-vous que vous configurez les sources correctes. Ou que votre runtime correspond à vos dernières modifications, selon ce que vous essayez de faire.