# debuggen in eclipse



## diggaa1984 (27. Okt 2009)

hiho, hab eclipse 3.5

ich hab grad n fehler den ich einfach nich finde.

In einer klasse fülle ich eine Hashmap<String,HashSet<String>>
An einer stelle frage ich die size dieser map ab. Beim 1. Durchlauf, welcher aber weniger wichtig ist, beträgt sie 2. Beim 2. Durchlauf ist die map auf einma leer, obwohl ich zwischdurch keine manipulation an ihr durchführe. Ich habe den dunklen Verdacht, dass sich da Referenzen auf Objekte befinden, die zwischenzeitlich nicht mehr existent sind, aber wie gesagt, den Code wo ich die map manipuliere, durchlaufe ich bis dahin nicht mehr.

Nun hab ich das Problem das ich zwischen den 2 Durchläufen nicht mitbekomme wann genau die Map leer wird, gibt es beim Debuggen eine Möglichkeit einen dauerhaften Variablen-monitor einzurichten, sodass ich zu jedem Zeitpunkt diese Variable anschauen kann?


----------



## diggaa1984 (27. Okt 2009)

gut fehler gefunden, aber frage bleibt dennoch


----------



## Kaffeebohn (27. Okt 2009)

Hi diggaa,

mit visualvm kannst du dir jederzeit ein Speicherabbild deines Programms erzeugen. Ich weiß allerdings nicht ob dir das weiterhilft.


----------



## ARadauer (27. Okt 2009)

> die zwischenzeitlich nicht mehr existent sind


Das kann nicht sein, da die Referenz ja in der Hashmap exisiert.

Kannst du uns mal Code zeigen?

Ist die map überhaupt die gleiche, ich meine beim ersten und zweiten Durchlauf?


----------



## diggaa1984 (27. Okt 2009)

das problem ist mitlerweile gelöst .. es war folgendes problem:

ich habe einen DocumentController für die Ansichten in meinem FormelEditor. Diese Controller hat sich ein SHLDocument erzeugt (syntaxhighlighted) und durch Events, hat der Controller die Hashmap in dem Document aktualisiert/manipuliert.

Die Views werden am Controller angemeldet, und erhalten das dortige model als Document. Bei der Formelansicht verwende ich aber nun zusätzlich noch ein eigenes EditorKit, welches per getDefaultDocument, das bisherige Document in der View ersetzt hat. Somit hatte ich beim debuggen den Fall, das ich erst im Document mit der korrekten Hashmap war, und bei Eingabe eines Zeichens aber im Document aus dem EditorKit .. wo keine Manipulation seitens des Controllers stattfindet.

nuja .. dummer fehler, aber leicht zu beheben ^^


----------

