# Debuggen mit eclipse.



## manuche (18. Nov 2007)

Hallo...
Ich versuche mit eclipse vernünftig zu debuggen nur irgendwie kommt immer ein "Fehler"...
Leider hab ich keinen Plan was dieser bedeutet, wo er herkommt und wie ich ihn beseitigigen kann!

In meiner main-Mehtode wird ein Objekt einer Klasse erzeugt... Wenn ich hinein steppe funktioniert das auch soweit ganz normal... in der Klasse wird nun der KOnstruktor aufgerufen! Sobald ich aber auch nur weiter steppe öffnet ein Tab mit der überschrift: MeineKlasse(Object).<init> line: 20 [local variables unavailable]
In dem Tab steht: Source Not Found...
Also offenbar kommt er nicht an die lokalen Variablen der Klasse dran aber woran liegt das? Wenn ich mit F6 über die Methoden steppe komme ich auch nicht in den Konstruktor der entsprechenden Klasse und der Fehler kommt nich...

Gruß manuche


----------



## Guest (18. Nov 2007)

Wird dein eigener Code nicht gefunden oder Code aus irgendeiner Bibliothek?


----------



## manuche (18. Nov 2007)

Das wüsste ich ja gern... Wo erkenne ich denn das?
Also der "Fehler" kommt erst wenn ich die erste Anweisung aus der Konstruktor ausführen möchte!


----------



## Guest (19. Nov 2007)

Initialisierst du irgendwelche Attribute direkt in der Klasse oder erweitert deine Klasse irgendeine Klasse aus einer 
fremden Bibliothek? 
z.B. 
	
	
	
	





```
private Logger logger = Logger.getLogger("wasauchimmer");
```
Bevor der Code des Konstruktors ausgeführt wird, wird der Super-Konstruktor ausgeführt und dann die lokalen
Attribute deiner Klasse initialisiert. Ist der Code irgendeines Typen nicht bekannt, öffnet der Debugger ein neues
Fenster und zeigt decompilierten Code an (nur die Signaturen etc.)

Das sollte nicht passieren, wenn du zunächst mit Step-In in den Konstruktor rein gehst, dann aber mit
Step-Over fortsetzts.

Wie sieht deine Klasse aus? (nur die Klassendeklaration, Attribute und der Konstruktor)


----------



## manuche (19. Nov 2007)

```
public class Client {
	/**
	 * @param args
	 */
	private Bahn [] bahnen = new Bahn [4];
	private Parkposition [] parkpositionen = new Parkposition [10];

	public Client(){
		for (int i = 0; i < 4; i++){
			bahnen[i] = new Bahn();
	    }
		for (int i = 0; i < 10; i++){
			parkpositionen[i] = new Parkposition();
	    }
	}
	
	public static void main (String [] args){
		Client client = new Client();
```

beim erzeugen des Objektes client kommt die Fehlermeldung beim step in in den Konstruktor...


----------



## Guest (19. Nov 2007)

Sieht harmlos aus. Vermutlich wird der Code von Java nicht gefunden (Object.java, Throwable.java etc.)

1) Öffne die JRE-Einstellungen. 

Window->Preferences->Java->Installed JREs

2) Wähle dort die JRE-Version, die du verwendest und klicke auf Edit.

Es sollte ungefähr wie folgt aussehen. 







4) Trage dort unter rt.jar den Quellcode und die Doku zu Java ein.

Falls du es nicht hast, lade dir die passende Version von der Sun-Seite herunter.

http://java.sun.com/javase/downloads/?intcmp=1281 (Version 1.6.x)
http://java.sun.com/javase/downloads/index_jdk5.jsp (Version 1.5.x)


----------



## manuche (20. Nov 2007)

soweit sogut... Jetzt kommt auf jeden fall ein fenster mit der überschrift "class file editor"...
da stept man durch ne menge an klassen!
nur das hat ja nur bedingt was mit meinem source code zu tun!
also eigentlich möchte ich nur das sehen was mein quellcode so fabriziert... kann man das nicht irgendwie umgehen?
meine idee wäre ja einfach mit F6 drüber zu steppen nur ich seh ja von aussehen nicht wann er in solche abläufe reinsteppt bzw wann nicht...
trotzdem schonmal danke!!!


----------



## Guest (21. Nov 2007)

Setze einen Breakpoint an den Anfang des Abschnitts, der dich interessiert und lass es bis dahin durchlaufen.


----------

