Skript funktioniert nur mit Debugger einwandfrei

Python auf Einplatinencomputer wie Raspberry Pi, Banana Pi / Python für Micro-Controller
Antworten
frankth
User
Beiträge: 3
Registriert: Sonntag 8. November 2015, 10:53

Habe einen Raspi mit Bewegungsmelder zur Terrassenüberwachung am Laufen. Wenn eine Bewegung registriert wird, spielt der Raspi über einen Verstärker ein mp3-File ab (Einbrecherabschreckung). Das Python-Skript ist relativ simpel, und wurde in den einschlägigen Homepages schon öfters beschrieben. Es funktioniert auch stunden- bzw. tageweise ohne Probleme. Dann plötzlich reagiert es aus unerklärlichen Gründen aber nicht mehr.

Nun aber das Merkwürdige: weil ich dem Fehler auf die Spur kommen wollte, ließ ich das Skript unter dem Debugger laufen. Und siehe da, das Skript lief in dieser Konstellation 2 Monate ohne Probleme durch. Ich habe den Debugger dann rausgenommen, und der alte Zustand trat wieder ein.

Hat jemand eine Idee, welchen Hintergrund dieses Verhalten haben könnte?
Benutzeravatar
cofi
Python-Forum Veteran
Beiträge: 4432
Registriert: Sonntag 30. März 2008, 04:16
Wohnort: RGFybXN0YWR0

Willkommen im Forum!

Ohne den Code zu kennen ist das unmoeglich zu sagen. Da deine Beschreibung aber nach Threads riecht, werfe ich mal Race Conditions in den Raum. Wikipedia listet hier noch ein paar Beispiele auf, was so einen Heisenbug erzeugen kann.

Wenn du den Code zeigen oder zumindest _weit_ naeher beschreiben kannst, kann man dir vielleicht mehr helfen.
frankth
User
Beiträge: 3
Registriert: Sonntag 8. November 2015, 10:53

Habe ein Skript aus dem Internet als Basis für mein jetziges Skript verwendet. So sind etwa 70% des Codes von mir, ca. 30% stammt aber noch von dem Ursprungsskript. Daher habe ich Probleme, das Skript hier zu präsentieren. Möchte vermeiden, daß mir geldgierige Anwälte Unterlassungserklärungen auf den Tisch knallen.
Benutzeravatar
cofi
Python-Forum Veteran
Beiträge: 4432
Registriert: Sonntag 30. März 2008, 04:16
Wohnort: RGFybXN0YWR0

Du koenntest aber darauf eingehen, wie dein Code etwa aussieht. Sprich: Benutzt du Threading?
Antworten