Alex's-Blog (Alexander Palm aus Hannover)

…hier bloggt Alexander Palm aus Hannover

Alexander Palm - Web-Junkie, geek, iPhone-, AVM-, FRITZ!Box-, Sipgate-, jQuery-Fan.

 

Alex's-Blog (Alexander Palm aus Hannover) - …hier bloggt Alexander Palm aus Hannover

Java-Debugging in Eclipse sehr langsam…

Tja, so kann es kommen: Ich habe mich schon seit Wochen (Monaten?) darüber gewundert, dass Eclipse beim Debuggen auf meinem Arbeitsrechner sehr langsam ist, wenn man zusätzlich die Variables-View dargestellt hat. Auf den Rechnern meiner Kollegen und bei mir zu Hause war alles bestens.

Das Debuggen war so behäbig, dass bei “schnellem” Gebrauch von F6 (Step foward) oder dergleichen Eclipse den “Focus verloren” hat und man explizit wieder auf den aktuellen StackFrame in der Debug-View klicken musste, um weiter steppen zu können….. very annoying!

Ich hatte die Eclipse-Plugins ausgedünnt und sogar meine JDKs neu installiert. Nichts half. Nach jedem Step, der ein Neudarstellen der Werte der Variablen in der Variables-View notwendig machte oder beim Browsen in den Tiefen der Objekte selber ging die CPU-Zeit meines java.exe-Prozesses auf ca. 50% und blieb dort für 1 bis 2 Sekunden… jenachdem, wie komplex der Aufbau des Objekts ist.

Nun, gestern hatte ich ein Aha-Erlebnis: Auf meinem Arbeitsrechner wird mir der Inhalt der der Objekte so dargestellt, wie es die toString()-Methode liefert. Das fehlte mir auf meinem Privatrechner. Mal eben fix eingestellt und alles war schön. Wirklich alles? Nein! Plötzlich war das Debugging ebenso langsam wie auf meinem Arbeitsrechner.

So, nun habe ich diese Option bei mir auf Arbeit wieder abgeschaltet… und, siehe da, Debugging macht wieder Spaß!

Im nachhinein ist es ja auch klar: So ein Aufruf von toString() für jedes Objekt ist natürlich sehr zeitaufwendig. Jetzt muss ich mich eben wieder an das normale Aussehen meiner Variablen beim Debuggen gewöhnen.

Ach ja, für alle, die wissen wollen, wo man diese verheerende Option einstellen kann, habe ich zwei Screenshots angehängt:

Diese Option liefert ein per toString() ein aussagekräftigeres aber sehr zeitintensives Ergebnis.

Diese Option ist der Default und schnell

Und last, but not least: Alex, alles gute zu Deinem Geburtstag! Soll all das in Erfüllung gehen, was Du Dir selber wünscht.

Kategorie: Borni, Java und Co
  • Alexander sagt:

    Das ist ja gleich eine doppelte Freude – der erste Eintrag von meinem lieblings Cousin und die netten Geburtstagswünsche…. Das ist aber lieb…. :-*

    Dann lass das mal nicht einreißen und blogge ordentlich weiter. :-)

    Freitag der 2 März 2007 um 11:24

Deine E-Mail-Adresse wird nicht veröffentlicht. Pflichtfelder sind markiert *

*

eMail-Benachrichtigung bei weiteren Kommentaren.
Auch möglich: Abo ohne Kommentar.