[Python-de] traceback abspeichern

Georg Mischler schorsch at schorsch.com
Fri Apr 20 05:10:44 EDT 2001


Dieter Neubauer wrote:

> Nach längerem erfolglosem Suchen in den div. Referenzen versuche ich hier
> mein Glück, mit folgender Frage:
>
> Ist es möglich ein traceback-Object auf Platte zu bannen, um den erzeugten
> File dann per email zur Analyse auf einem anderen Rechner weiterzuleiten?
>
> Der Hintergrund der Frage ist nicht schwer zu erraten:
> beim Kunden knallt's und es ist auch mit den besten Verhörtechniken und nach
> unzähligen Versuchen nicht rauszufinden, was los war. Der Traceback (nicht
> das Object) kann zwar umgeleitet und gespeichert werden, doch damit ist
> natürlich keine tiefergehende Analyse möglich (Werte von lokalen/globalen
> Variablen, etc...).
>
> Meine naive Vorstellung ist:
>   ein try: um Alles
>   im except: wird dann mit pickle das Object als File abgespeichert
>   der File wird verschickt
>   in der gleichen Python-Umgebung lese ich das Ganze ein und kann es
> analysieren
>
> Geht so was?

Ah, jetzt sehe ich die genaue Formulierung der Originalfrage
auch (ist in meinem Filter haengen geblieben...).

Dir ist schon klar, dass die Information, die du da gerne
per Mail uebertragen wuerdest, beliebig gross sein kann?
Der tatsaechliche Inhalt des kompletten Python-Stacks plus
aller aktuellen Modul-Attribute (= "Werte von lokalen/globablen
Variablen, etc...") entspricht einer vollstaendigen Zustands-
beschreibung des Interpreters zu dem gegebenen Zeitpunkt!
Bei den meisten meiner eigenen Programme waeren dabei meherere
Dutzend MB an Daten enthalten. Ich glaube nicht, dass du das
wirklich automatisch als Mail verschicken willst.

Vielleicht ist dir das selber nicht klar, aber offenbar traeumst
du wirklich davon, den Python-Prozess auf der einen Maschine aus
Anlass einer Ausnahme komplett einzufrieren, und dann auf einer
anderen Maschine unter Aufsicht des Debuggers wieder zu
reanimieren.  Wie in meiner ersten Antwort schon angedeutet,
wuerde dies einer "remote exec" Implementation per E-Mail
entsprechen (tatsaechlich noch besser: Prozess-Roaming ueber
Maschinengrenzen hinweg).

Falls du sowas (er)findest, bitte erzaehl mir auch davon!
Ich koennte das ganz hervorragend zum Load-Balancing bei der
Verteilung von Simulationen ueber das LAN gebrauchen! Von mir
aus gerne auch ueber eine normale Netzverbindung oder per
NFS-Sharing, E-Mail muesste nicht zwingend sein... ;-)


Viel Spass!

-schorsch

-- 
Georg Mischler  --  simulations developer  --  schorsch at schorsch.com
+schorsch.com+  --  lighting design tools  --  http://www.schorsch.com/




More information about the Python-de mailing list