Debugging, wie?

Plattformunabhängige GUIs mit wxWidgets.
Antworten
Gremlin
User
Beiträge: 166
Registriert: Freitag 28. Mai 2010, 23:49

Hallo,

ich weiß nicht recht wohin mit diesem Thema aber ich glaube hier ist es ganz gut aufgehoben. Aber bevor ich meine Frage stelle, erstmal der Hintergrund:

Als ich gestern mein Programm einem groben Testlauf unterzogen habe, trat ein Fehler auf. Kein Fehler in Form einer Ausnahme (wär ja zu schön...) sondern es tat einfach nicht mehr. Die Oberfläche blieb in ihrem aktuellen Stadium und "meine" Events wurden nicht mehr ausgeführt. Achtung: Meine Events. Die von wx (d.h. Button drücken usw.) gingen wunderbar. Dann dachte ich mir, ich könnte dem Fehler mit ein paar print-Anweisungen auf die Spur kommen. Allerdings hab ich vorher versucht den Fehler zu reproduzieren und er wollte nicht mehr. Also hab ich mir gar nicht erst die Mühe gemacht meine Module mit prints vollzustopfen.

Und nun die Frage: Wie stelle ich es am besten an, dass ich solchen Fehlern in der Logik auf die Spur komme, ohne allzu stark an den Modulen herumzupfuschen?
Ich habs schon mit pdb versucht, aber ich habe das Gefühl dass dieses Modul eher für Skripte, als für Programme die Event-basiert arbeiten, gedacht ist.

Mir ist auch schon die Idee gekommen, da wohl die Events das Problem sind, dass ich pdb.set_trace() in die Funktionen die aufgerufen bzw. in die Threads die gestartet werden, einfügen könnte. Aber ist das wirklich die einzige Möglichkeit so einem Problem auf die Spur zu kommen?
Antworten