wake-up-neo.com

Java-Haltepunkt kann nicht in Intellij festgelegt werden IDEA

Ich versuche, Haltepunkte in die GoogleAppEngine-Quellen (SDK 1.7.0) einzufügen, aber IDEA Ultimate (11.0.2) sagt mir ständig Warning: No executable code found at line 482 in class com.google.appengine.api.memcache.AsyncMemcacheServiceImpl.

Ich erhalte diese Fehlermeldung, wenn ich den Code von Komponententests starte und den Entwicklungsserver starte.

Es ist ziemlich ärgerlich. Meine Quellen befinden sich jedoch in einem externen Verzeichnis (relativ zum Verzeichnis IDEA home und dem Projekt home), und meine JAR-Dateien befinden sich im Appengine SDK-Verzeichnis "lib".

Meine JAR-Dateien werden dem Modul als Projektbibliothek hinzugefügt, und meine Quellen werden an diese Bibliothek angehängt. Ich habe auch mit Modulabhängigkeiten herumgespielt, aber ohne Glück. Schließlich entschied ich mich, diese Bibliothek in den Kompilierungsbereich zu packen, aber das war keine gute Idee, da das SDK diese Gläser zur Laufzeit zur Verfügung stellt. Daher beschloss ich, auf den Bereitgestellten Geltungsbereich zurückzugreifen.

Ich habe auch mit dem Export-Kontrollkästchen auf der Registerkarte "Modulabhängigkeiten" gespielt, aber ich denke, dies ist laut der web help irrelevant. Der Export ist nur wichtig, wenn Sie über abhängige Module verfügen und Ihre Bibliothek in diesen Modulen verfügbar machen möchten auch.

Jedenfalls entstand diese Frage vor 4 Jahren auch. Ich frage mich jetzt, ob es wirklich so schwer ist, dieses Problem zu lösen.

Ich bin jetzt sehr enttäuscht. Ich hatte bisher keine Probleme mit IDEA bis jetzt ... Ich habe gesehen, dass dieses Problem auch bei anderen Leuten aufgetreten ist als auch, also ist dies nicht eindeutig, denke ich.

Jede Hilfe wird geschätzt.


Ich habe meine Frage aufgrund meiner javap-Experimente unten bearbeitet: Es scheint, dass die Klassen und Quellen NICHT nicht synchron sind. Ich habe die 1.7.0-bezogene Version von SVN ausgecheckt, und ich verwende das 1.7.0-SDK. Diese sollten also überhaupt nicht synchron sein.

46
Captain Fogetti

Ich hatte ähnliche Probleme und verschiedene Versuche wurden angewendet. Nachfolgend meine üblichen Schritte:

  1. Wenn Sie Maven-Abhängigkeiten verwenden, gehen Sie zu Maven-Projekte -> Aktualisieren
  2. Wenn dies nicht funktioniert, versuchen Sie es mit dem oberen Menü -> Erstellen -> Projekt neu erstellen
  3. Wenn das immer noch nicht funktioniert, versuchen Sie es mit dem Hauptmenü -> Datei -> Cache ungültig machen/Neustart
  4. Wenn das immer noch nicht funktioniert, starte $ CATALINA_BASE/bin/catalina.sh und starte

Danach deckt es normalerweise 99% der Probleme ab. Andernfalls müssen Sie wahrscheinlich andere Möglichkeiten prüfen.

60
Matthew Chen

Ich hatte ein ähnliches Problem in Intellij. Ich konnte einen Haltepunkt nicht auf einen Code-Snippet setzen, ich änderte die Zeilennummer des Codes und konnte dann einen Haltepunkt setzen. Sieht aus wie ein Fehler in Intellij

15
vaibhav.g

Ich fand einige andere Fälle, in denen Leute berichteten, dass IDEA sagt, dass kein ausführbarer Code gefunden wurde. Ein häufiges Muster ist, dass versucht wurde, Code zu debuggen, der ohne Debug-Informationen erstellt wurde. Vergewissern Sie sich, dass Sie mit dem Flag "-g" (oder einem gleichwertigen Element) kompilieren.

7
Stephen C

Der Kern des Problems besteht darin, dass die JVM eine Klassendatei (entweder eine einfache Klasse oder eine aus dem Klassenpfad aus dem Klassenpfad geladene Klasse) ausführt, die NICHT mit der vom Debugger verwendeten Quelle ZUSAMMENBRINGEN Einfach: Stellen Sie sicher, dass die Quelle die Klasse darstellt, die ausgeführt wird. Um das Problem zu beheben, können Sie Quellen zu Klassen usw. aktualisieren.

4
Joseph

Die Frage ist ziemlich alt, aber ich dachte, meine Erfahrung könnte in Zukunft jemandem helfen. In meinem Fall habe ich versucht, Code zu debuggen, der nicht mit Debug-Informationen kompiliert wurde. Ich verwende Maven, in dem die ursprüngliche übergeordnete POM-Datei vor der Änderung im Build-Abschnitt wie folgt aussah.

<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>

Ich habe den obigen Abschnitt geändert, damit er wie folgt aussieht.

<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>

Beachten Sie die hinzugefügten <debug>- und <debuglevel>-Elemente. Das Element debuglevel kann eine beliebige Kombination der drei durch Kommas getrennten Argumente annehmen.

Nachdem ich mit dieser Änderung kompiliert hatte, gelang es mir endlich, Haltepunkte in IDEA zu setzen.

3
Willa

Ich konnte dieses Problem beheben, indem ich die betreffende Klasse neu kompilierte:.

2
reubot

Ich hatte das gleiche Problem. Ich weiß nicht warum, aber für mich hat es geholfen, Änderungen im Code hinzuzufügen, wie das Hinzufügen oder Entfernen von Kommentaren. Seltsam, aber es hat mein Problem gelöst

2
Dmitrii Skomor

Ich hatte ein ähnliches Problem und es wurde durch einen Fehler in meiner Tomcat-Konfiguration verursacht. Auf der Registerkarte "Bereitstellung" wurde die Option "Beim Serverstart implementieren" ausgeführt. Ich hatte es versehentlich in ein sehr ähnliches Projekt mit ": Krieg explodiert" geändert. Als ich es zurück wechselte, funktionierte es gut. 

1
kiwi

Hatte dasselbe Problem, herausgefunden, dass die Version des Codes auf dem Server und die, die ich debuggen, unterschiedlich sind. Nach dem Synchronisieren des Codes wurde das Problem behoben.

1
raka

Bitte stellen Sie sicher, dass Sie Proguard nicht ausgeführt haben. Es hat mir geholfen.

1
Alexey Taran

Menü -> Datei -> Cache ungültig machen/Neustart

Das funktionierte für mich unter IntelliJ 13.0.2

1

Wenn Sie einige Server verwenden, werden sie in den "Modus mit niedrigem Arbeitsspeicher" versetzt. Dies bedeutet, dass sie für Sie nicht debuggen, unabhängig davon, welche Optionen oder Caches Sie ungültig machen.

Sie sollten den Server anhalten, die Speichereinstellungen für die an Java übergebenen Optionen erhöhen und den Server neu starten. Überprüfen Sie die Protokolle, um sicherzustellen, dass Sie keinen Bericht erhalten, z. 

1
PeterS

Ich hatte das gleiche Problem mit der Debug-Konfiguration in meinem Fall Tomcat . Ich habe alles oben versucht, aber nichts . Als ich gerade den Tomcat umkonfigurierte (Debug> Konfiguration bearbeiten> Tomcat entfernen> es von Grund auf neu hinzufügen) hat endlich funktioniert :)

0
eldad marciano

Überprüfen Sie den Speicherplatz Ihrer Festplatte und machen Sie etwas Speicher frei. Wenn Sie nicht genügend Speicherplatz auf der Festplatte haben, wird Ihr Speicherplatz nicht für den Zwischenspeicher der zum Debuggen erforderlichen Klassen reserviert, selbst wenn sich der Server nicht im "Modus mit wenig Arbeitsspeicher" befindet. Daher können Sie den Haltepunkt nicht festlegen.

0

In meinem Fall habe ich alle laufenden Prozesse auf dem Gerät beendet und die Verbindung getrennt und die Verbindung wieder hergestellt.

0
Vic Torious

Ich arbeitete an einem Intellij-Plugin, und als die Sandbox Intellij auftauchte, wurde mein Problem schließlich behoben. Nachdem die Sandbox Intellij aufgetaucht war, baute ich sie wieder auf.

Danach baute ich meine Intellij und die Sandbox Intellij und sie synchronisierten sich schließlich.

0
Godrules500