Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > de.comp.lang.python > #5414

Re: [Python-de] Tracing mit hunter macht Laune

Path csiph.com!fu-berlin.de!uni-berlin.de!not-for-mail
From Stefan Behnel <python-de@behnel.de>
Newsgroups de.comp.lang.python
Subject Re: [Python-de] Tracing mit hunter macht Laune
Date Fri, 25 Jan 2019 08:14:14 +0100
Lines 40
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>
Mime-Version 1.0
Content-Type text/plain; charset=utf-8
Content-Transfer-Encoding 8bit
X-Trace news.uni-berlin.de keQMZLL5UgKz08UKR1BPPwLzWBF6KwSEzW/D7VgfqbBA==
Return-Path <python-de@behnel.de>
X-Original-To python-de@python.org
Delivered-To python-de@mail.python.org
DKIM-Signature v=1; a=rsa-sha256; c=relaxed/relaxed; t=1548401198; s=strato-dkim-0002; d=behnel.de; h=In-Reply-To:Date:Message-ID:From:References:To:Subject: X-RZG-CLASS-ID:X-RZG-AUTH:From:Subject:Sender; bh=XS/TzRZRb9JDjG2pd1MDxDy/pYTUUNmrrLNIjpr5bLo=; b=hJiQDDCqdGYDi2zirp6f0atX9Vb++nn2bolD7ahH/BH+JetWFr2S0THsfonpGLtNwi BBvSWSjpqhac2hSY9foNIPhiRnkwks72KQcnNexVjOHXIEcH47zn/egGWGvqzeLoZRm4 J7Sp0ZnaNwSfarh5NxLNCJz6vu3QJ7Ih3B8+lSSLmoAEF0fZlaYQZswGzJ+4qpst0Se4 J+bvpiTe9bQYbU1eawTawOpUAUfwNP1t/A4s1qbjjZurnlBo0tTTzfjyc97Ft+h8l9XX EIjTrQh+azvtcS1Yip7p/KAB81FlXrs2yyYvMbIR2QR67qF0ntor/nQfQZtF4AKLHd0g Obng==
X-RZG-AUTH ":E1MMdFW4b++AXZOTwA41DOYM0Dv9LNWvavC/fJZ6Wfgmp/Lh1ANWCRaaq2R1hCooD/t2Vl9QOFcfNKKMu3H63nKVrhvigl5uLImxUuR5PYb5awT9"
X-RZG-CLASS-ID mo00
User-Agent Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.2.1
In-Reply-To <699d7cca-6a21-4844-7575-8f12ae3e794f@bakera.de>
Content-Language de-DE
X-BeenThere python-de@python.org
X-Mailman-Version 2.1.29
Precedence list
List-Id Die Deutsche Python Mailingliste <python-de.python.org>
List-Unsubscribe <https://mail.python.org/mailman/options/python-de>, <mailto:python-de-request@python.org?subject=unsubscribe>
List-Archive <http://mail.python.org/pipermail/python-de/>
List-Post <mailto:python-de@python.org>
List-Help <mailto:python-de-request@python.org?subject=help>
List-Subscribe <https://mail.python.org/mailman/listinfo/python-de>, <mailto:python-de-request@python.org?subject=subscribe>
X-Mailman-Original-Message-ID <c693e70d-98e4-ef64-a94f-160a53c594d1@behnel.de>
X-Mailman-Original-References <1422843c-8e11-a526-966a-eff74a3cb136@thomas-guettler.de> <699d7cca-6a21-4844-7575-8f12ae3e794f@bakera.de>
Xref csiph.com de.comp.lang.python:5414

Show key headers only | View raw


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


Thread

Re: [Python-de] Tracing mit hunter macht Laune Stefan Behnel <python-de@behnel.de> - 2019-01-25 08:14 +0100

csiph-web