web-dev-qa-db-fra.com

Débogage du fichier JAR avec le code source attaché dans Eclipse

S'il vous plaît laissez-moi savoir comment je peux déboguer n'importe quel fichier jar avec le code source attaché à Eclipse.

Lorsque j'ai essayé de le déboguer, l'implémentation est terminée à volonté, mais le contrôle n'a jamais atteint les points d'arrêt.

12
Kaveesh Wadhwa
  • Cliquez avec le bouton droit sur le fichier jar référencé dans votre projet, sélectionnez "Propriétés".
  • Dans "Pièce jointe Java Source", cliquez sur le bouton "Espace de travail ...".
  • Sélectionnez le dossier 'src' du projet jar dans votre espace de travail.

ou si vous voulez faire plus d'étapes:

  • Faites un clic droit sur le projet, sélectionnez 'Propriétés'
  • Dans "Chemin de construction Jave", sélectionnez l'onglet "Bibliothèques".
  • Développez (cliquez sur '+') le pot auquel vous voulez lier la source
  • Cliquez sur 'Pièce jointe source' (cela devrait être en disant 'Pièce jointe source: (Aucune)')
  • Appuyez sur le bouton 'Editer ...'
  • Suivez à partir du deuxième point dans les étapes plus courtes ci-dessus
19
cedric

Vous essayez celui-ci:

Commencez par ouvrir le fichier jar à l’aide de JD (Java Decompiler), puis cliquez sur Fichier -> Enregistrer les sources JAR. Ce fichier deviendra un fichier .Zip contenant les fichiers source Java. Ensuite, vous pouvez ajouter ce fichier Zip source dans la configuration de débogage en utilisant add source. Cela fonctionnera alors à coup sûr.

J'ai également rencontré le même problème, parfois lors du débogage des classes de fichiers jar. Mais après la procédure ci-dessus, le problème a été résolu.

6
Shreyos Adikari

Utilisez la commande ci-dessous pour lancer votre pot:

Java -Xdebug -Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=y -jar [JAR NAME]

Il devrait indiquer quelque chose comme:

Listening for transport dt_socket at address : 8000

Dans Eclipse, créez une configuration de débogage " Application Java distante " et ajoutez les modules de jar.

2
Ankur Mahajan

je l'ai fait plusieurs fois et cela fonctionne bien pour moi. Assurez-vous d'avoir placé les points de débogage à la bonne position. Peut-être parce qu'un code de condition deviendra inaccessible à ce moment-là, le point de débogage n'aura pas d'effet. Placez le point de débogage à l’appel de la déclaration de la méthode signifie où vous avez appelé la méthode de la classe jar. Si le contrôle y parvient, press F5 pour entrer dans la méthode dans la classe du fichier jar. Si le contrôle n'y parvient pas, cela signifie que vous avez des conditions dans le code qui empêchent d'appeler cette méthode et vous ne pouvez donc pas atteindre votre point d'arrêt dans la méthode.

2
Harry Joy

"La solution consiste à accéder à la page de préférences PDE" Plateforme cible "et à désactiver Tous les plug-ins externes. Ils sont à l'origine du problème en raison du synchroniseur de modèle Qui devrait empêcher l'apparition de" jumeaux ". 'ne fonctionne pas correctement. "

Lien de référence - https://bugs.Eclipse.org/bugs/show_bug.cgi?id=22961 Commentaire n ° 10.

La solution ci-dessus a bien fonctionné pour moi.

0
user6550309