No se puede establecer el punto de interrupción de Java en Intellij IDEA

Estoy tratando de poner puntos de interrupción en las fonts 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 fonts 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 fonts se adjuntan a esta biblioteca. Estaba jugando con dependencias de módulos también, pero sin suerte. Finalmente, decidí poner esta biblioteca en el scope de la comstackción, pero esa fue una mala idea, ya que el SDK proporciona estas jarras en tiempo de ejecución, así que decidí recurrir al scope de Provided.

También jugué con la checkbox 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 fonts 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.

Tuve problemas similares y se han aplicado varios bashs. 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

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á comstackndo con el indicador “-g” (o equivalente) establecido.

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 comstackción.

    org.apache.maven.plugins maven-compiler-plugin 2.1  ${javaCompilerVersion} ${javaCompilerVersion} UTF-8      

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

    org.apache.maven.plugins maven-compiler-plugin 2.1  ${javaCompilerVersion} ${javaCompilerVersion} UTF-8 true lines,vars,source      

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

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

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.

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

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

Esto funcionó para mí bajo IntelliJ 13.0.2

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, boost 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, 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.

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 fonts a las clases, etc.

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

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

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 🙂

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.

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