2009-08-21 21 views
46

¿Cómo puedo pasar por el código fuente JDK en IntelliJ IDEA 7 y ver la información de depuración? Actualmente puedo acceder a los puntos de interrupción y recorrer el código, pero la información de depuración no está disponible. Esto significa que no puedo ver el valor de las variables locales.Paso a través del código fuente JDK en IntelliJ IDEA

Solo quiero pasar por el código fuente de una clase, si eso es importante. (Por lo que vale, es la clase javax.swing.text.html.HTMLDocument (y tengo una copia del archivo .java correspondiente).)

Respuesta

32

Si miras en [Menú Archivo ->] Configuraciones -> Depurador -> Avanzar, verás una lista "No ingrese a estas clases", probablemente con "java. *" enumerado allí. Es ese el caso? Puedes apagar eso allí.

Aparentemente la información de depuración no está disponible. De acuerdo con this thread:

Lamentablemente las clases de JDK tienen información de depuración para los parámetros y variables locales se quitó. Hace

años presenté una solicitud para que la idea debe deducir la información necesaria del código fuente (básicamente convertir los nombres de variables de índices en el métodos var):
Debugger: Show variable information when no debug info

favor vote/comentario.

Como solución alternativa puede volver a compilar el JDK a partir de las fuentes, pero debe excluir algunas clases que no tienen adjuntado el código fuente necesario.

Curiosamente, puede descargar beta version of Java 6u18, which has debug information in it (en el paquete DEBUG).

+0

Como ya he mencionado en mi post original, que puede golpear mis puntos de ruptura muy bien en el javax. * clases. El problema es que la información de depuración no está disponible. De todos modos, solo para estar seguro, hice lo que sugirió, pero la información de depuración aún no está disponible. –

27

ACTUALIZACIÓN: IntelliJ IDEA 13 + versión can provide local variables information without debug info.

Las clases de Java que forman parte del JDK se compilan sin información de depuración por motivos de tamaño y rendimiento. Si desea información de depuración en estas clases, deberá instalar una versión de desarrollo del JDK donde las clases se crean con la información de depuración o reconstruir las partes de JDK que desea depurar del origen con la información de depuración habilitada y configurar el nuevo JDK con estas versiones de clases en frascos.

This thread proporciona las instrucciones sobre cómo reconstruir las clases de JDK en rt.jar desde el código fuente con información de depuración.

P.S. Esta pregunta no es específica de IntelliJ IDEA.

0

configuración - compilador - Java Compilador - opciones de Java, debe marcar la opción "generar información de depuración", luego compilará con información de depuración.

3

Junto con la información "No intervenir en estas clases", se debe configurar el src.jar. Haga clic con el botón derecho en el proyecto, seleccione "Abrir configuración del módulo". En Configuración de la plataforma, seleccione "SDK". Seleccione la versión de Java SDK que está utilizando. Seleccione la pestaña Sourcepath, presione el botón "+" y agregue su src.jar desde el JDK (o la descarga de fuente separada para OSX JDK). Esto le permitirá abrir clases JDK y acceder a ellas mientras se depura.

+0

Estoy en Ubuntu 16.04 y OpenJDK 8. Para obtener las fuentes JDK tuve que instalar por separado un paquete adicional: 'sudo apt-get install openjdk-8-source'. Gracias a http://askubuntu.com/questions/755853/how-to-install-jdk-sources para la solución. –

1

Hice esto en mi Mac para obtener mi código fuente de Android, pero un enfoque similar debería funcionar para usted.

  • Archivo> Estructura del proyecto

  • seleccionados "SDK" en Configuración de la plataforma.

  • seleccionada "Android SDK"

  • pestaña seleccionada "SourcePath"

  • presionado "+"

  • navegado a la ubicación de mi código fuente de Java

12
  1. Instalar el JDK
  2. Añadir ruta src.jar
    1. Ir a: Estructura del proyecto (Project Settings)> Configuración de plataforma> SDKs> Sourcepath
    2. Agregue la ruta a src.jar
      • OSX ejemplo: /Library/Java/JavaVirtualMachines/1.6.0_45-b06-451.jdk/Contents/Home
      • de Windows ejemplo: C: \ Archivos de programa \ Java \ jdk1.7.0_03 (cheque de programa (x86) para 32 bits)
    3. ¡Espere un momento para indexar!
  3. Retirar el filtro depurador
    1. Ir a: Ajustes> Depurador> Stepping
    2. Desactive el paquete (s) que desea, por ejemplo, javax. *
Cuestiones relacionadas