JComboBox unter Linux debuggen

Ebenius

Top Contributor
Huhu,

mir passiert es häufiger, dass ich beim Debuggen nicht aufpasse und einen Breakpoint so setze, dass er aus dem ActionListener einer JComboBox angesprungen wird. Wenn ich dann das Programm ausführe, die Popup-Liste der JComboBox öffne und einen Eintrag auswähle, hält der Debugger den EDT der VM an (suspend). Daraufhin steht mein ganzer X-Server. Ich muss auf ein TTY ausweichen, um den Prozess zu töten. Danach ist mein X wieder voll verfügbar. Ich benutze Eclipse Galileo (war aber seit den 2er Versionen so), Java 6 Update 15 (war aber unter allen 1.4er, 5er und 6er Maschinen in allen Updates gleich; sowohl 32bit als auch 64bit), Linux-2.6.31 (ist aber auch schon mit einigen Vorgängerkernels so gewesen), X.Org X Server 1.6.4, Window-Manager ist kwin.

Fragen:
  1. Kann das jemand unter M$win / Mac OSX / Linux auf X mit anderem WindowManager probieren:
    Java:
    final JComboBox comboBox = new JComboBox(new String[] { "A", "B" });
    comboBox.addActionListener(new ActionListener() {
      public void actionPerformed(ActionEvent e) {
        System.out.println("Hier einen Breakpoint setzen");
      }
    });
    ComboBox in irgendein JFrame, Breakpoint setzen, Programm debuggen, ComboBox aufklappen, Eintrag "B" auswählen.
  2. Kann das mal jemand mit ner anderen IDE als Eclipse probieren?
  3. Hat jemand eine Idee, wie man das verhindern kann?
Danke für Eure Hilfe!

Ebenius
 
1.) MS XP (Eclipse & Netbeans)

--> keine Probleme

2.) Kubuntu(Eclipse)

--> kann`s nachvollziehen, bei mir das selbe Problem (wie hast du dann noch`n Terminal auf bekommen? 😀 )
 
wie hast du dann noch`n Terminal auf bekommen?
CTRL+ALT+F1, einloggen, [c]jps[/c] nennt Dir die Java-Prozesse, [c]kill PID[/c] beendet den Prozess.

Danke für's testen. Wäre hübsch wenn jemand eine Idee hätte; bzw. das mit nem anderen Window-Manager testen könnte. Das passiert mir mindestens 50 mal im Jahr. Bestimmt ist's ein Bug in der Sun-JVM. Hat jemand ne andere JVM zum testen?

Ebenius
 

Zurück
Oben