Software landet in einem fehlerhaften Zustand und kommt nicht mehr raus von diesem Zustand.

Gast #3878700
folgende Anwendung habe ich:
- Messungen von unterschiedlichen Parameter (Strom, Spannung, ....) 
mithilfe einen PIC Mikrocontroller.
- SW ist so aufgebaut: Firmware + Visuall Studio 2008
- Kommunikationsart zwichen Firmaware und Visual Studio ist USB 
Schnittstelle (HID class.dll)
- Progrmmiersprache ist C++
--> Die Kommunikation mit der Firmware funktionniert  fast immer gut .
Die SW landet in der oben genannten Zustand sehr selten.
Ich kann das Problem nicht nachvollziehen warum oder wie ?
Ich habe folgende Versucht:
Die SW (in debug Modus) schritt für schritt (F10) zu debuggen und zu 
gucken was für Werte bekomme ich.
Es scheint alles Okay zu sein und die SW landet nicht mehr in 
fehlerhaften Zustand aber wenn ich direkt danach die SW normal starte 
(nicht in debug Modus)
Das Problem tritt wieder neue und ich muss das ganze neue anfangen (in 
debug Modus--> Problem tritt nicht mehr aber wieder direkt danach 
Problem ist wieder da).
Um das Problem zu lösen muss ich die SW beenden und wieder starten dann 
ist wieder alles gut.

Ich weiss dass ihr von der ferne mir gar nicht sagen können aber ich 
wollte fragen, ob ihr solche Fälle auch erlebt habt?

Danke in voraus
#3878719
Kommunikation ist normalerweise Zustandsbasiert. (schreibst du ja auch 
in der Überschrift). Du hast also 2 Zustandsautomaten, einer auf der 
Client und einer auf der Serverseite.
Um den Fehler zu finden musst du herausfinden in welchem (falschen) 
Zustand sich Client und Server befinden wenn "nichts mehr geht"
Um das herauszufinden hat sich tracen als gute Möglichkeit erwiesen. 
Also das Mitschreiben in eine Datei was wann passiert, zumindest auf dem 
PC. Auf dem µC kann man evt. eine SD Karte zum tracen benutzen oder in 
einem primitiven Fall mehrere Ports, die man auf Ausgang schaltet und je 
nach Zustand eine eindeutige ID rausschreibt.
Viel Erfolg
Gast #3879488
Said schrieb:
> Zwei Sachen sind mir aufgefallen:
> 1) In Normalen Durchlauf (ohne Fehler)
> Nach jede Kommando folgt eine Antwort
> 2) Problem ist aufgetreten:
> Kommando werden mehrmals geschickt und die Antwort von jede Kommando
> folgt erst später ...

Der Detailgrad meiner Antwort entspricht Deiner Problembeschreibung:
1) Der zweite Fall ist typisch für einen Fehler.

Gruß Klaus

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 11 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.