[gelöst]: suche trace-modul
Verfasst: Dienstag 5. August 2008, 00:10
Hallo erstmal ins Forum.
Die Frage, die mich zur Zeit bewegt ist folgende: Gibt es ein Modul, mit dem ich ein statement (z. Bsp. einen Funktionsaufruf) auf Quelltext-Zeilen-Ebene nachvollziehen kann und nach Möglichkeit für jede ausgeführte Zeile auch noch Zugriff auf die str-representationen der einzelnen Variablen habe.
Das ganze soll funktionieren, ohne dass ich in die Quelldatei schreiben muss. Dass ich dort z. Bsp. mit 1/0 eine Exception erzeugen kann und aus dem Stacktrace eine ganze Menge Infos kriege, weiß ich auch schon. Was ich suche, soll aber von außen funktionieren. Also eine supertrace funktion a la
srclines wäre dann eine Liste mit strings, welche die ausgeführten Quellcodezeilen darstellen.
filesrc wäre eine ebensolange liste, deren Elemente sagen woher die Quellzeile stammt.
objects wäre eine liste mit dictionaries, ebenfalls von dieser Länge. Jedes dict enthielte dann zu den entsprechenden Variablennamen als Schlüssel Einträge die dem Inhalt der Variable zum Zeitpunkt des Ausführens dieser Codezeile entsprachen.
Kennt jemand sowas? Wahrscheinlich nicht. Aber vielleicht gibt es ein Modul, was weite Teile der benötigten Funktionalität bereitstellt...
Was ich suche ist eine Art automatisierter Debugger-Lauf. Vielleicht kann man es auch als spezielles Profiling sehen. Einen griffigen Namen hab ich noch nicht gefunden.
Das interessanteste was ich bisher zum Thema gefunden hab ist übrigens in den Threads
http://www.python-forum.de/topic-11437. ... ight=trace
http://www.python-forum.de/topic-9658.h ... ight=trace
zu lesen.
Hintergrund ist übrigens das möglichst einfache Nachvollziehen von Funktionalität in Quellcode, den man nicht selbst geschrieben hat, (und in dem man auch kein Schreibrecht hat.) Ich denke wenn man sich in ein neues Projekt einarbeiten will, wie ich gerade in sympy, könnte sowas schon was nützen.
Schon mal Danke für sachdienliche Hinweise. Auf das Zusammenpusseln, hab ich schon richtig Lust.
Gruß,
Bastian.
Die Frage, die mich zur Zeit bewegt ist folgende: Gibt es ein Modul, mit dem ich ein statement (z. Bsp. einen Funktionsaufruf) auf Quelltext-Zeilen-Ebene nachvollziehen kann und nach Möglichkeit für jede ausgeführte Zeile auch noch Zugriff auf die str-representationen der einzelnen Variablen habe.
Das ganze soll funktionieren, ohne dass ich in die Quelldatei schreiben muss. Dass ich dort z. Bsp. mit 1/0 eine Exception erzeugen kann und aus dem Stacktrace eine ganze Menge Infos kriege, weiß ich auch schon. Was ich suche, soll aber von außen funktionieren. Also eine supertrace funktion a la
Code: Alles auswählen
..
import coolesModul
srclines, filesrc, objects=supertrace('coolesModul.fcn1("bla", "blub")')
..
filesrc wäre eine ebensolange liste, deren Elemente sagen woher die Quellzeile stammt.
objects wäre eine liste mit dictionaries, ebenfalls von dieser Länge. Jedes dict enthielte dann zu den entsprechenden Variablennamen als Schlüssel Einträge die dem Inhalt der Variable zum Zeitpunkt des Ausführens dieser Codezeile entsprachen.
Kennt jemand sowas? Wahrscheinlich nicht. Aber vielleicht gibt es ein Modul, was weite Teile der benötigten Funktionalität bereitstellt...
Was ich suche ist eine Art automatisierter Debugger-Lauf. Vielleicht kann man es auch als spezielles Profiling sehen. Einen griffigen Namen hab ich noch nicht gefunden.
Das interessanteste was ich bisher zum Thema gefunden hab ist übrigens in den Threads
http://www.python-forum.de/topic-11437. ... ight=trace
http://www.python-forum.de/topic-9658.h ... ight=trace
zu lesen.
Hintergrund ist übrigens das möglichst einfache Nachvollziehen von Funktionalität in Quellcode, den man nicht selbst geschrieben hat, (und in dem man auch kein Schreibrecht hat.) Ich denke wenn man sich in ein neues Projekt einarbeiten will, wie ich gerade in sympy, könnte sowas schon was nützen.
Schon mal Danke für sachdienliche Hinweise. Auf das Zusammenpusseln, hab ich schon richtig Lust.
Gruß,
Bastian.