setup mac jdk intellij idea how found for change appropriate java debugging google-app-engine intellij-idea

java - mac - jdk intellij idea



No se puede establecer el punto de interrupciĆ³n de Java en Intellij IDEA (15)

En mi caso, eliminé todos los procesos en ejecución en el dispositivo y los desconecté y volví a conectar.

Estoy tratando de poner puntos de interrupción en las fuentes de GoogleAppEngine (SDK 1.7.0), pero IDEA Ultimate (11.0.2) solo sigue diciéndome Warning: No executable code found at line 482 in class com.google.appengine.api.memcache.AsyncMemcacheServiceImpl .

Recibo este mensaje de error cuando ejecuto el código de las pruebas unitarias y comienzo el servidor de desarrollo.

Es bastante annonying. De todos modos, mis fuentes se encuentran en un directorio externo (relativo al hogar de IDEA y al hogar de proyecto), y mis archivos jar están bajo el directorio de lib de Appengine SDK.

Mis archivos jar se agregan como biblioteca de proyectos al módulo y mis fuentes se adjuntan a esta biblioteca. Estaba jugando con dependencias de módulos también, pero sin suerte. Finalmente, decidí poner esta biblioteca en el alcance de la compilación, pero esa fue una mala idea, ya que el SDK proporciona estas jarras en tiempo de ejecución, así que decidí recurrir al alcance de Provided.

También jugué con la casilla de verificación de exportación en la pestaña de dependencias del módulo, pero creo que esto es irrelevante, según la ayuda web , exportar solo es importante cuando tienes módulos dependientes y también quieres que tu biblioteca esté disponible en estos módulos.

De todos modos, esta pregunta surgió hace 4 años también. Entonces, me pregunto si realmente es tan difícil resolver este problema.

Estoy muy decepcionado ahora. No tuve ningún problema con IDEA hasta el momento ... Vi que este problema también se le ocurrió a otras personas , así que esto no es único, supongo.

Cualquier ayuda es apreciada.

Edité mi pregunta debido a mis experimentos de javap continuación: parece que las clases y las fuentes NO están sincronizadas. Revisé la revisión relacionada con 1.7.0 desde SVN, y estoy usando el SDK 1.7.0, por lo que estos no deberían estar desincronizados.


Encontré algunos otros casos en los que las personas informaron que IDEA dice "No se encontró código ejecutable". Un patrón común es que estaban tratando de depurar código que se había creado sin información de depuración. Verifique que está compilando con el indicador "-g" (o equivalente) establecido.


La esencia del problema es que la JVM ejecuta un archivo de clase (ya sea clase simple o una clase cargada desde jar desde la ruta de clase) que NO COINCIDE con la fuente utilizada por el depurador. Una vez que se entiende esto, la solución es simple: asegúrese de que la fuente represente la clase que se está ejecutando. Por lo tanto, para solucionar el problema, puede actualizar y sincronizar las fuentes a las clases, etc.


La pregunta es bastante antigua, pero pensé que mi experiencia podría ayudar a alguien en el futuro. En mi caso, estaba tratando de depurar el código que no se compiló con la información de depuración. Estoy usando maven en el cual el archivo pom padre original antes de la modificación se veía más abajo en la sección de compilación.

<build> <pluginManagement> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>2.1</version> <configuration> <target>${javaCompilerVersion}</target> <source>${javaCompilerVersion}</source> <encoding>UTF-8</encoding> </configuration> </plugin> <!--More plugins...--> </pluginManagement> </build>

Cambié la sección anterior para que se vea como a continuación.

<build> <pluginManagement> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>2.1</version> <configuration> <target>${javaCompilerVersion}</target> <source>${javaCompilerVersion}</source> <encoding>UTF-8</encoding> <debug>true</debug> <debuglevel>lines,vars,source</debuglevel> </configuration> </plugin> <!--More plugins...--> </pluginManagement> </build>

Tenga en cuenta los elementos adicionales de <debug> y <debuglevel> . El elemento debuglevel puede tomar cualquier combinación de los tres argumentos separados por comas.

Después de compilar con este cambio finalmente logré poner puntos de quiebre en IDEA.


Menú -> Archivo -> Invalidar caché / reiniciar

Esto funcionó para mí bajo IntelliJ 13.0.2


Por favor, asegúrate de no haber ejecutado Proguard. Me ayudó.


Pude solucionar este problema recompilando la clase en cuestión: Build -> Recompile (filename.java)


Reinicia tu PC. Solucionó mi caso. simple es lo mejor..


Si está utilizando algunos servidores entrarán en "modo de memoria baja", lo que significa que no depurarán por usted, sin importar qué opciones o cachés invalide.

Debe detener su servidor, aumentar la configuración de memoria en las opciones que se pasan a Java y reiniciar su servidor. Comprueba los registros para asegurarte de que no recibes un informe como "ejecutar en modo de memoria baja".


Tuve el mismo problema al utilizar la configuración de depuración en mi caso Tomcat. Intenté todo lo anterior, pero nada. cuando acabo de reconfigurar el Tomcat (depurar> editar configuración> eliminar el tomcat> volver a agregarlo desde cero) finalmente estaba funcionando :)


Tuve el mismo problema, me di cuenta de que la versión del código en el servidor y la que estoy depurando son diferentes. Después de sincronizar el código, se resolvió el problema.


Tuve problemas similares y se han aplicado varios intentos. A continuación están mis pasos habituales:

  1. Si está utilizando dependencias de Maven, vaya a Maven Projects -> refresh
  2. Si eso no funciona, prueba el menú superior -> Construir -> Reconstruir proyecto
  3. Si eso aún no funciona, intente con el menú superior -> Archivo -> Invalidar caché / reiniciar
  4. Si eso todavía no funciona, entonces $ CATALINA_BASE / bin / catalina.sh pare, luego comience

Después de esto, generalmente cubre el 99% de los problemas. De lo contrario, probablemente tendrá que examinar otras posibilidades.


Tuve un problema similar en Intellij. No pude poner punto de interrupción en uno de los fragmentos de código, cambié el número de línea del código y luego pude poner punto de corte. Parece un error en intellij


Tuve un problema similar y fue causado por un error en la configuración de Tomcat, en la pestaña Implementación, "Implementar en el inicio del servidor". Accidentalmente lo cambié por un proyecto muy similar con ": guerra explotada". Cuando lo cambié de vuelta, funcionó bien.


Verifique el espacio de su disco y libere algo de memoria. Si se está quedando sin espacio en disco, incluso si su servidor no está en "modo de memoria baja", intelliJ no asignará el espacio para almacenar en caché las clases necesarias para la depuración. Como resultado, no le permitirá establecer el punto de ruptura.