Am 19.07.2010 23:41, schrieb Marc Rödder:
Jetzt habe ich allerdings das Problem, dass dieses Skript bei Überschreiten einer gewissen Menge an Bildern, die im Speicher vorgehalten werden, einfach stehen bleibt. Es gibt also keine Fehlermeldung und keinen wirklichen Absturz. Sieht jemand eine Chance oder hat jemand einen Tipp, wie man das vernünftig debuggen könnte?
Auf welchem Betriebssystem läuft das denn? Verbraucht der Python-Prozess noch Rechenzeit, wenn das Programm stehen bleibt? Falls nicht, würde ich mal den Interpreter selbst unter die Lupe nehmen. Unter Linux kann man dafür beispielsweise die Prozess-ID mittels "ps aux" ermitteln und dann mittels "strace -f -p <Prozess-ID>" schauen, was der Interpreter gerade zu tun versucht. Den Prozess kann man jederzeit an strace attachen, aber man sollte bedenken, dass strace die Ausführung deutlich verlangsamt und dass es extrem viel ausgeben kann. Letzteres kann Dir leicht die Platte vollschreiben, wenn Du mit "-o" die Ausgabe in eine Datei umleitest. Ein anderer Ansatz wäre, das Script mittels pdb zu starten. Dort würde ich zunächst einmal "continue" sagen und, wenn es denn wieder eingefroren ist, beherzt Ctrl-C drücken. Dann siehst Du schon einmal, an welcher Stelle im Code sich der Interpreter gerade befand, und Du kannst aktuell besetzte Variablen inspizieren. Damit sollte man dann schon weiter kommen, und sei es nur so weit, dass man eine Ahnung bekommt, an welchen Stellen man noch mehr Debug-Ausschriebe in das Script stecken sollte, um den Fehler weiter einzugrenzen. [x] ulf -- Rome did not create a great empire by having meetings, they did it by killing all those who opposed them.