Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > de.comp.lang.python > #5414
| From | Stefan Behnel <python-de@behnel.de> |
|---|---|
| Newsgroups | de.comp.lang.python |
| Subject | Re: [Python-de] Tracing mit hunter macht Laune |
| Date | 2019-01-25 08:14 +0100 |
| Message-ID | <mailman.361.1548401200.4816.python-de@python.org> (permalink) |
| References | <1422843c-8e11-a526-966a-eff74a3cb136@thomas-guettler.de> <699d7cca-6a21-4844-7575-8f12ae3e794f@bakera.de> <c693e70d-98e4-ef64-a94f-160a53c594d1@behnel.de> |
Marco Bakera schrieb am 24.01.19 um 17:49: > Ich kann mich an einen Post-Mortem-Debugger für Java erinnern, mit dem > ich nach dem Fehler "zurückspulen" und Variablen aus vorherigen > Zeitpunkten anschauen konnte. Ob es das auch für Python gibt? Besonders > für nebenläufige Anwendungen war dieses Tool äußerst nützlich. Das PyPy-Projekt hat mal sowas gebaut: https://morepypy.blogspot.com/2016/07/reverse-debugging-for-python.html Wenn dein Programm also mit PyPy funktioniert, kannst du es dir mit ihrem "revpdb" ansehen. > Auch der Debugger von Smalltalk bzw. Pharo gefällt mir gut. Dort kann > ich zur Laufzeit das Programm verändern und mit den Änderungen direkt > weiterarbeiten, ohne das Programm neu starten zu müssen. Auf diese Weise > lässt sich sogar eine fehlende Klasse/Methode/... ergänzen und > Test-Driven-Development mit Spaß erleben. Auch das wäre eine schöne > Ergänzung für Python. Wenn du den Code verändern möchtest, ist mir da zumindest nichts bekannt. Würde theoretisch gehen, da Python auch nur Bytecode ausführt, der sich verändern ließe. Den quasi dem laufenden Interpreter unter den Füßen wegzuziehen ist aber grundsätzlich nicht ganz ungefährlich, müsste also vermutlich direkt von CPython unterstützt werden. Allgemein hat Python aber den Vorteil, dass das Neustarten eines Programms in der Regel recht schnell geht. Vielleicht braucht das Herstellen des zu untersuchenden Programmzustands dann mehr Zeit, aber auch das hält sich meist in Grenzen, wenn die richtigen Haltepunkte erstmal gefunden sind (was bis zu dem Zeitpunkt, wo du das Programm verändern wollen würdest, ja vermutlich der Fall ist). Die Möglichkeit zur Programmänderung im Debugger ist also bei Python weniger "notwendig" als sie es bei kompilierten Sprachen mit schwerfälliger Laufzeitumgebung (hüstel, Java, hüstel) wäre. So ein Feature macht natürlich was her, aber wirklich gebraucht oder vermisst habe ich es in Python nie. Stefan
Back to de.comp.lang.python | Previous | Next | Find similar
Re: [Python-de] Tracing mit hunter macht Laune Stefan Behnel <python-de@behnel.de> - 2019-01-25 08:14 +0100
csiph-web