Programme debuggen mit Eclipse

Havoc<>

Mitglied
Hallo zusammen,

bitte hackt mit für diese Frage nicht die Finger ab. Aber scheinbar fehlt mir ein tieferes Verständniss für das Debuggen mit Eclipse.

Folgendes Problem: Ich schreibe eine Java Anwendung, setzte einen Breakpoint, klicke auf "Debug" und das Programm hält einfach nicht am Breakpoint an. Stattdessen bekomme ich die Fehlermeldung "Cannot connect to VM".

So weit so gut. Ich also gegoogelt und hier im Forum gesucht. Was ich aber nur finde sind Antworten wie: "localhost muss in der /etc/hosts" eingetragen sein (--> Überprüft. Ist es :-)). Dann: "Remote debuggen mit Eclipse" (--> Ich wollte aber kein Remote Programm debuggen, sondern ein "lokales" Programm).

In anderen Beiträgen habe ich gesehen das ich den String "-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,address=8000" an das ausführende Programm anhängen muss. Also bin ich in Eclipse gehüpft, hab unter "debug ..." --> "Java Applikation" --> "(x) = Arguments" --> "VM arguments:" diesen String eingetragen. Dennoch, das Programm hält nicht an und beendet sich mit der oben genannten Fehlermeldung.

Was hab ich vergessen?

Vielen dank im Voraus.

Jens
 
hm, ja, habs gerade mal versucht. Selbes Problem.

Wenn ich das Programm starte, übernimmt er auch die Parameter:

Code:
[10:36:46] jens@odyssey:~ > ps aux | grep java-1.4
jens     12341  4.0  7.1  83932 36668 ?        Sl   10:36   0:00 /usr/lib/jvm/java-1.4.2-gcj-4.1-1.4.2.0/bin/java -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,address=8888 -classpath /home/jens/workspace/sabine/bin sabine_project.Sabine -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,address=8888
jens     12370  0.0  0.1   2880   752 pts/2    R+   10:36   0:00 grep java-1.4
[10:36:53] jens@odyssey:~ >

Jens
 
Hallo Thomas,

seh ich das richtig das ich dann einmal das Programm starten muss und einmal das debuggen starten muss?

Geht das nicht in einem Schritt?

Jens
 
Hallo,

nein, du kannst natürlich auch eine aus Eclipse (im Debugmodus) gestartete Anwendung auch direkt in Eclipse Debuggen. Die Beispiele zeigen nur, wie man das auch mit "separat gestarteten" (also nicht direkt aus Eclipse heraus) machen kann.

Hast du schon mal versucht eine andere JVM zu verwenden? Sun / IBM / BEA ?

Gruß Tom
 
Also, leider öffnet das Programm auch keinen Port:

Code:
[11:43:32] jens@odyssey:~ > ps aux | grep java-1.4
jens     14806  0.1  7.1  83924 36800 ?        Sl   11:38   0:00 /usr/lib/jvm/java-1.4.2-gcj-4.1-1.4.2.0/bin/java -Xdebug -Xrunjdwp:transport=dt_socket,address=8000,server=y -classpath /home/jens/workspace/sabine/bin sabine_project.Sabine
jens     15219  0.0  0.1   2880   760 pts/2    R+   11:43   0:00 grep java-1.4
[11:43:35] jens@odyssey:~ > netstat -an | grep 8000
[11:43:45] jens@odyssey:~ >

Hab im Moment nur folgende JVM im Einsatz:
Code:
[11:44:24] jens@odyssey:~ > java -version
java version "1.4.2-02"
Java(TM) 2 Runtime Environment, Standard Edition (build Blackdown-1.4.2-02)
Java HotSpot(TM) Client VM (build Blackdown-1.4.2-02, mixed mode)
[11:44:28] jens@odyssey:~ >

Könnte es tatsächlich an der VM liegen?

Jens
 
Hallo Thomas und zerix,

Es lag tatsächlich an der JVM. Danke für den Tipp :-)!

Für den Fall, das jemand auch Debian/Kubuntu (7.04) benutzt und die Blackdown JVM benutzt, könnte Probleme beim Debuggen bekommen :-).

Welche JVM ihr normalerweise benutzt könnt ihr mit "java -version" herausbekommen. Ansonsten könnt ihr auch in Eclipse nachschauen (siehe angehängter Screenshot). Die erste VM (java-1.4.2-gcj-4.1-1.4.2.0) funktioniert bei mir nicht. Die zweite, die ich erstellt habe (SunVM) tut einwandfrei.

Die Sun JVM könnt ihr über
Code:
root@odyssey:~# apt-cache search java | grep ^sun
sun-java5-bin - Sun Java(TM) Runtime Environment (JRE) 5.0 (architecture dependent files)
sun-java5-demo - Sun Java(TM) Development Kit (JDK) 5.0 demos and examples
sun-java5-doc - Sun JDK(TM) Documention -- integration installer
sun-java5-fonts - Lucida TrueType fonts (from the Sun JRE)
sun-java5-jdk - Sun Java(TM) Development Kit (JDK) 5.0
sun-java5-jre - Sun Java(TM) Runtime Environment (JRE) 5.0 (architecture independent files)
sun-java5-plugin - The Java(TM) Plug-in, Java SE 5.0
sun-java5-source - Sun Java(TM) Development Kit (JDK) 5.0 source files
sun-java6-bin - Sun Java(TM) Runtime Environment (JRE) 6 (architecture dependent files)
sun-java6-demo - Sun Java(TM) Development Kit (JDK) 6 demos and examples
sun-java6-doc - Sun JDK(TM) Documention -- integration installer
sun-java6-fonts - Lucida TrueType fonts (from the Sun JRE)
sun-java6-javadb - Java(TM) DB, Sun Microsystems' distribution of Apache Derby
sun-java6-jdk - Sun Java(TM) Development Kit (JDK) 6
sun-java6-jre - Sun Java(TM) Runtime Environment (JRE) 6 (architecture independent files)
sun-java6-plugin - The Java(TM) Plug-in, Java SE 6
sun-java6-source - Sun Java(TM) Development Kit (JDK) 6 source files
sunwderby - Java(TM) DB
root@odyssey:~#
Code:
root@odyssey:~# aptitude install sun-java5-jre
... installieren.

Ich hoffe das hilft auch denen weiter, die vor dem selben Problem standen wie ich :-). Vielleicht gibts auch nen Trick wie es mit der Blackdown JVM läuft, aber ich hab auf anhieb nichts bei Google gefunden.

Jens
 

Anhänge

  • eclipsescreenshot.jpg
    eclipsescreenshot.jpg
    36,1 KB · Aufrufe: 25
Zurück