web-dev-qa-db-fra.com

Parcourez le code source JDK dans IntelliJ IDEA

Comment puis-je parcourir le code source JDK dans IntelliJ IDEA 7 et voir les informations de débogage? Je peux actuellement atteindre des points d'arrêt et parcourir le code, mais les informations de débogage ne sont pas disponibles. Cela signifie que je peux 't voir la valeur des variables locales.

Je veux seulement parcourir le code source d'une classe, si cela importe.
Pour ce que ça vaut, c'est la classe javax.swing.text.html.HTMLDocument Et j'ai une copie du fichier .Java Correspondant.

52
Paul Reiners

Si vous regardez dans [Menu Fichier ->] Paramètres -> Débogueur -> Pas à pas, vous verrez une liste "Ne pas entrer dans ces classes", probablement avec "Java. *" Qui y est répertorié. Est-ce le cas? Vous pouvez désactiver cela là-bas.

Apparemment, les informations de débogage ne sont pas disponibles. Selon ce fil :

Malheureusement, les classes JDK ont des informations de débogage pour les paramètres et les variables locales supprimées.

Il y a des années, j'ai déposé une demande pour que Idea déduise les informations nécessaires du code source (essentiellement la conversion des noms de variables en index dans les méthodes var local):
Débogueur: affiche les informations sur les variables quand aucune information de débogage

Veuillez voter/commenter.

Comme solution de contournement, vous pouvez recompiler le JDK à partir des sources, mais vous devez exclure certaines classes qui n'ont pas tout le code source nécessaire attaché.

Fait intéressant, vous pouvez télécharger le version bêta de Java 6u18, qui contient des informations de débogage (dans le paquet DEBUG).

39
cletus

[~ # ~] mise à jour [~ # ~] : IntelliJ IDEA 13+ version peut fournir informations sur les variables locales sans informations de débogage .

Les classes Java qui font partie du JDK sont compilées sans informations de débogage pour des raisons de taille et de performances. Si vous voulez des informations de débogage dans ces classes, vous devrez soit installer une version de développement du JDK où les classes sont construites avec les informations de débogage, soit reconstruire les parties du JDK que vous souhaitez déboguer à partir de la source avec les informations de débogage activées et configurer le nouveau JDK avec ces versions de classes dans des bocaux.

Ce fil fournit les instructions pour reconstruire les classes JDK dans rt.jar à partir du code source avec des informations de débogage.

P.S. Cette question n'est pas spécifique à IntelliJ IDEA.

27
CrazyCoder
  1. Installez le JDK
  2. Ajouter le chemin src.jar
    1. Accédez à: Structure du projet (Paramètres du projet)> Paramètres de la plate-forme> SDK> Chemin source
    2. Ajoutez le chemin d'accès à src.jar
      • Exemple OSX: /Library/Java/JavaVirtualMachines/1.6.0_45-b06-451.jdk/Contents/Home
      • Exemple Windows: C:\Program Files\Java\jdk1.7.0_03 (vérifiez le programme (x86) pour 32 bits)
    3. Attendez longtemps pour l'indexation!
  3. Supprimer le filtre du débogueur
    1. Accédez à: Paramètres> Débogueur> Etape
    2. Décochez le ou les packages souhaités, par exemple javax. *
14
Peter Tseng

Parallèlement aux informations "Ne pas entrer dans ces classes", le src.jar doit être configuré. Cliquez-droit sur le projet, sélectionnez "Ouvrir les paramètres du module". Sous Paramètres de la plate-forme, sélectionnez "SDK". Sélectionnez la version Java SDK version que vous utilisez. Sélectionnez l'onglet Sourcepath, appuyez sur le bouton "+" et ajoutez votre src.jar à partir du JDK (ou le téléchargement source séparé pour le JDK OSX Cela vous permettra d'ouvrir des classes JDK et d'y accéder pendant le débogage.

3
codingismy11to7

J'ai fait cela sur mon Mac pour obtenir mon Android mais une approche similaire devrait fonctionner pour vous.

  • Fichier> Structure du projet

  • "SDK" sélectionnés sous Paramètres de la plate-forme.

  • "SDK Android" sélectionné

  • Onglet "Chemin source" sélectionné

  • Appuyez sur "+"

  • Navigué vers l'emplacement de mon Java

1
Peter Theill

setting - compiler - Java Compiler - Java options, vous devez cocher l'option "générer des informations de débogage", puis, il compilera avec les informations de débogage).

0
heaven