vendredi 1 mai 2015
Nullpointer im Debugger, jedoch nicht beim normalen Starten
Posted on 15:28 by verona
Hallo liebe Community,
ich programmiere schon länger an einem Programm zum Serialisieren von Kopier- und Verschiebevorgängen.
Nun habe ich etwas verändert, dann wollte ich debuggen und bekomme an einer ganz anderen Stelle einen Nullpointer.
Dieser Fehler tritt jedoch nur im Debugger auf und wenn ich im Konstruktor von HauptframeSeropiep einen Brakpoint setze, funktioniert auch alles normal. Auch wenn ich vor dem Instanziieren des neuen HauptframeSeropiep Objektes eine Sekunde warte läuft alles. Wenn dieser Breakpoint jedoch die ganze VM anhält läuft es nicht. Es reicht sogar schon aus das Ganze zum Laufen zu bringen, wenn ich das Instanziieren vom neuen Objekt vor das Ändern des LookAndFeels tue.
Ich habe gegooglet und dabei kam heraus, dass es sich um einen Bug in eclipse handeln kann. Nun läuft mein eclipse aber schon seit drei Jahren stabil ohne einen einzigen Absturz (unterbrochen durch rechnerbedingtes Neuinstallieren), weshalb ich auch noch nicht auf modernere Versionen gewechselt habe. Ich benutze eclipse Galileo.
Die Exception lautet:
Ich habe die beteiligten Klassen gekürzt, um nicht so einen riesigen Wust aus Code zu posten.
Steuer:
und HauptframeSeropiep:
PS: Ich habe eine Zeit lang auf einem Gemisch aus Deutsch und Englisch programmiert. Nach und nach wollte ich das Programm übersetzen, also bitte nicht darüber beschweren. Falls ihr noch andere Tipps für mich habt, immer her damit.
ich programmiere schon länger an einem Programm zum Serialisieren von Kopier- und Verschiebevorgängen.
Nun habe ich etwas verändert, dann wollte ich debuggen und bekomme an einer ganz anderen Stelle einen Nullpointer.
Dieser Fehler tritt jedoch nur im Debugger auf und wenn ich im Konstruktor von HauptframeSeropiep einen Brakpoint setze, funktioniert auch alles normal. Auch wenn ich vor dem Instanziieren des neuen HauptframeSeropiep Objektes eine Sekunde warte läuft alles. Wenn dieser Breakpoint jedoch die ganze VM anhält läuft es nicht. Es reicht sogar schon aus das Ganze zum Laufen zu bringen, wenn ich das Instanziieren vom neuen Objekt vor das Ändern des LookAndFeels tue.
Ich habe gegooglet und dabei kam heraus, dass es sich um einen Bug in eclipse handeln kann. Nun läuft mein eclipse aber schon seit drei Jahren stabil ohne einen einzigen Absturz (unterbrochen durch rechnerbedingtes Neuinstallieren), weshalb ich auch noch nicht auf modernere Versionen gewechselt habe. Ich benutze eclipse Galileo.
Die Exception lautet:
Java Code:
-
-
at javax.swing.MultiUIDefaults.getUIError(Unknown Source)
-
at anzeige.HauptframeSeropiep.<init>(HauptframeSeropiep.java:26)
-
at anwendung.Steuer.initHauptframe(Steuer.java:54)
-
at anwendung.Steuer.<init>(Steuer.java:35)
-
at anwendung.Steuer.main(Steuer.java:75)
Ich habe die beteiligten Klassen gekürzt, um nicht so einen riesigen Wust aus Code zu posten.
Steuer:
Java Code:
-
-
//zahlreiche Importe
-
-
public class Steuer implements ErrorListener{
-
private static final String MAYORERRORMESSAGE = "A mayor problem occurred. Please try again later or contat the developers.";
-
private EventMulticaster em;
-
private HauptframeSeropiep hf;
-
private Datenhandler dh;
-
-
public Steuer(){
-
this.em = new EventMulticaster();
-
this.dh = new Datenhandler(em);
-
initHauptframe();
-
initEventMulticaster();
-
}
-
-
private void initEventMulticaster(){
-
em.addPathChangedEventListener(hf.getDataList());
-
em.addPathChangedEventListener(hf.getDataTree());
-
em.addDragnDropEventListener(dh);
-
em.addErrorListener(this);
-
}
-
-
private void initHauptframe(){
-
public void run() {
-
try {
-
}
-
});
-
hf = new HauptframeSeropiep(em);
-
@Override
-
if (dh.isRunning()){
-
if (JOptionPane.showConfirmDialog(hf, RessourceManager.getText("closemessage")) == JOptionPane.OK_OPTION){
-
}
-
} else {
-
}
-
}
-
});
-
hf.setVisible(true);
-
}
-
-
new Steuer();
-
}
-
-
public void errorOccured(ErrorEvent e) {
-
//kümmert sich um passierte Fehler
-
}
-
-
//zeigt einen Dialog mit einer Fehlermeldung
-
}
-
}
und HauptframeSeropiep:
Java Code:
-
-
//zahlreiche Importe
-
-
-
private static final long serialVersionUID = 1L;
-
private PathTextField pathTextField;
-
private DateiList list;
-
private DateiBaum baum;
-
private EventMulticaster em;
-
-
public HauptframeSeropiep(EventMulticaster em) {
-
super(); //hier wir der Nullpointer geworfen
-
this.em = em;
-
initialize();
-
}
-
-
public DateiList getDataList() {
-
return list;
-
}
-
-
public DateiBaum getDataTree(){
-
return baum;
-
}
-
-
private void initialize() {
-
this.setSize(547, 472);
-
this.setContentPane(getJContentPane());
-
this.setTitle("Seropiep");
-
this.setLocationRelativeTo(null);
-
this.setIconImage(RessourceManager.getImage("icon"));
-
em.addPathChangedEventListener(pathTextField);
-
}
-
-
if (jContentPane == null) {
-
-
pathTextField = new PathTextField();
-
pathTextField.setColumns(10);
-
-
-
-
-
-
Processlabel processlabel = new Processlabel();
-
em.addProcessListener(processlabel);
-
-
//erstellen des Layouts
-
-
list = new DateiList(em);
-
scrollPane_1.setViewportView(list);
-
-
baum = new DateiBaum(em);
-
scrollPane.setViewportView(baum);
-
jContentPane.setLayout(gl_jContentPane);
-
}
-
return jContentPane;
-
}
-
}
PS: Ich habe eine Zeit lang auf einem Gemisch aus Deutsch und Englisch programmiert. Nach und nach wollte ich das Programm übersetzen, also bitte nicht darüber beschweren. Falls ihr noch andere Tipps für mich habt, immer her damit.
Nullpointer im Debugger, jedoch nicht beim normalen Starten
Inscription à :
Publier les commentaires (Atom)
0 commentaires:
Enregistrer un commentaire