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


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

Re: [Python-de] Micropython - Exception nachträglich ermitteln

From "Michael S." <michaely@bigfoot.de>
Newsgroups de.comp.lang.python
Subject Re: [Python-de] Micropython - Exception nachträglich ermitteln
Date 2018-07-02 15:57 +0200
Message-ID <fpupb7F4rdqU1@mid.individual.net> (permalink)
References <fpufbqF2sqvU1@mid.individual.net> <9a003315-4f84-cadd-bc0e-2a6d025ab072@sschwarzer.net> <mailman.68.1530537050.2754.python-de@python.org> <fpunn2F4ek5U1@mid.individual.net>

Show all headers | View raw


Am 02.07.2018 um 15:30 schrieb Peter Heitzer:
> Stefan Schwarzer <sschwarzer@sschwarzer.net> wrote:
>> On 2018-07-02 13:07, Michael S. wrote:
>>> habe hier einen ESP8266 mit Micropython am Laufen. Der läuft 24h und
>>> sendet zyklisch Daten an einen Webserver. Gelegentlich (Tage bis Wochen)
>>> passiert es, das das Python-Script vermutlich mit einer Exception
>>> abstürzt. Wenn ich dann mit WebREPL draufschaue sehe ich, dass die
>>> Konsole funktional ist.
>>> Das bedeutet:
>>> 1. Es hat kein Reboot stattgefunden, denn dann wäre das
>>>      Script über den Autostart neu gestartet worden.
>>> 2. Das Script wurde vermutlich durch eine Exception beendet.
>>>
>>> Die mir bekannten kritischen Dinge (Netzwerk) habe ich schon mit
>>> Try/Except abgefangen. Trotzdem bricht das Skript ab.
>>>
>>> Wie bekomme ich raus, was das für eine Exception war? Ich kann schlecht
>>> wochenlang ein Notebook mit RS232 durchlaufen lassen, um da mitzuhören.
> 
>> ich habe keine Erfahrung mit MicroPython, aber sonst ist
>> das übliche Vorgehen, auf der obersten Aufrufebene ein
>> try/except zu verwenden und im Fehlerfall die Exception
>> (evtl. mit weiteren Informationen) zu loggen.
> 
> Wobei ich nicht weiss, wohin man im Falle eines Netzwerkfehler noch hin
> loggen kann. Kann Micropython ins Flash des ESP8266 loggen?

Ich kann Dateien im Flash speichern.
Ich könnte bei einer Exception vermutlich ne Datei öffnen und dort die 
Daten der Exception reinschreiben.

Solange z.B. RAM-Mangel nicht der Auslöser war, sollte das gehen.
Tatsächlich muss ich auf dem Modul mit 10-20kB freiem RAM auskommen. Das 
waren aber nur Stichproben. Das freie RAM ändert sich ständig und 
schwankt. Keine Ahnung ob das auch mal auf Null fallen kann.


-- 
Michael

Back to de.comp.lang.python | Previous | NextPrevious in thread | Find similar


Thread

Micropython - Exception nachträglich ermitteln "Michael S." <michaely@bigfoot.de> - 2018-07-02 13:07 +0200
  Re: [Python-de]  Micropython - Exception nachträglich ermitteln Stefan Schwarzer <sschwarzer@sschwarzer.net> - 2018-07-02 15:10 +0200
    Re: [Python-de] Micropython - Exception nachträglich ermitteln "Michael S." <michaely@bigfoot.de> - 2018-07-02 15:25 +0200
    Re: [Python-de]  Micropython - Exception nachträglich ermitteln "Peter Heitzer" <peter.heitzer@rz.uni-regensburg.de> - 2018-07-02 13:30 +0000
      Re: [Python-de] Micropython - Exception nachträglich ermitteln "Michael S." <michaely@bigfoot.de> - 2018-07-02 15:57 +0200

csiph-web