[VB6] Programm bleibt einfach nach einiger Zeit hängen

27/05/2010 - 07:49 von Susann Markward | Report spam
xPost nach m.p.d.v _und_ d.c.l.m mit Fup2 nach d.c.l.m auf Grund der mir
noch unklaren Situation bzgl. der weiteren Existenz von m.p.d.v

Hallo,

ich habe u.a. ein _sehr_ umfangreiches VB6-Programm zur Aufnahme von
Messdaten zu betreuen. Nach Anforderung durch den Kunden, wurden von mir
einige Änderungen vorgenommen. In der Testphase habe ich nun bemerkt,
dass die Anwendung eine lange Zeit ohne Probleme funktioniert, jedoch
irgendwann einfach einfriert. Das àußert sich wie folgt:

Wie bereits angedeutet nimmt die Anwendung Messdaten über eine eine
serielle Schnittstelle auf. Die Aufnahme einer Messsequenz quittiert der
Anwender durch den Druck eines Buttons, woraufhin ihm anschließend die
Möglichkeit gegeben wird (per Einblendung eines List-Controls), die
aufgenommenen Messwerte auszudrucken.
Das funktioniert eine Zeit lang tadellos. Jedoch nach einiger Zeit (der
Zeitraum ist sehr unterschiedlich) passiert es, dass die Anwendung
einfach einfriert. Es wird nur noch eine Eieruhr angezeigt. In seltenen
Fàllen wird versucht die Listbox aufzubauen, es erscheint an ihrer
Stelle jedoch nur eine weiße Flàche. In allen Fàllen ist die Situation
für den Anwender gleich. Der Anwender kommt nicht mehr aus der Anwendung
heraus. Auch ein Beenden des Programms mit dem Taskmanager gelingt nur
sehr schwer.
In der Simulation passiert dies auch, wenn ich der Anwendung _immer_
dieselben Messwerte liefere. D.h. von den Messwerten ist es nicht abhàngig.
Nun dachte ich, dass es durch meine neu hinzugefügten Änderungen
gekommen sei. Woraufhin ich eine àltere Version der Software testete.
Aber auch da tritt dieser Fehler auf. D.h. also, dass es nicht an meinen
neu hinzugefügten Änderungen liegt.
Eine Fehlerbehandlung ist leider nicht durchgehend vorhanden, sondern
immer nur an den Modulen, wo ich Hand anlegte. Der Hinweis doch komplett
eine Fehlerbehandlung zu implementieren ist nicht ziel-führend, da das
nicht in einem vertretbarem Zeitaufwand umsetzbar ist.

Weiß jemand Rat, wie ich dem Problem auf die Spur kommen kann?

Mit freundlichen Grüßen
Susann
 

Lesen sie die antworten

#1 Martin Enke
27/05/2010 - 08:33 | Warnen spam
Hallo Susann,

also "einfach so" bleibt VB m.E. eigentlich nicht stehen, das Problem
làsst sich also auch nicht durch irgendeinen Trick lösen. Aber die
Fehlersuche sollte doch gelingen:

Zuerst würde ich mich auf den Commport stürzen. Wie werden den die Daten
abgeholt? wird gepollt oder per Event? Könnte ein Überlauf des
Eingangspuffer des Port Ursache sein oder wartet VB auf Daten die da
nicht kommen? oder werden die Daten in einem bestimmten Format erwartet?
Kannst Du VB im IDE-Modus unterbrechen sobald die Sanduhr kommt? Wenn ja
haste schon gewonnen. Falls nicht, wird die Sanduhr irgendwo per Befehl
aufgerufen? Dann mach dort nen Haltepunkt und schau Dir den Code genau
an. Gibt es irgendwelche Loops die bis zu einer Abbruchbedingung laufen
welche aber unter bestimmten Umstànden nicht erreicht wird?...

Viel Glück

Martin


Susann Markward schrieb:
xPost nach m.p.d.v _und_ d.c.l.m mit Fup2 nach d.c.l.m auf Grund der mir
noch unklaren Situation bzgl. der weiteren Existenz von m.p.d.v

Hallo,

ich habe u.a. ein _sehr_ umfangreiches VB6-Programm zur Aufnahme von
Messdaten zu betreuen. Nach Anforderung durch den Kunden, wurden von mir
einige Änderungen vorgenommen. In der Testphase habe ich nun bemerkt,
dass die Anwendung eine lange Zeit ohne Probleme funktioniert, jedoch
irgendwann einfach einfriert. Das àußert sich wie folgt:

Wie bereits angedeutet nimmt die Anwendung Messdaten über eine eine
serielle Schnittstelle auf. Die Aufnahme einer Messsequenz quittiert der
Anwender durch den Druck eines Buttons, woraufhin ihm anschließend die
Möglichkeit gegeben wird (per Einblendung eines List-Controls), die
aufgenommenen Messwerte auszudrucken.
Das funktioniert eine Zeit lang tadellos. Jedoch nach einiger Zeit (der
Zeitraum ist sehr unterschiedlich) passiert es, dass die Anwendung
einfach einfriert. Es wird nur noch eine Eieruhr angezeigt. In seltenen
Fàllen wird versucht die Listbox aufzubauen, es erscheint an ihrer
Stelle jedoch nur eine weiße Flàche. In allen Fàllen ist die Situation
für den Anwender gleich. Der Anwender kommt nicht mehr aus der Anwendung
heraus. Auch ein Beenden des Programms mit dem Taskmanager gelingt nur
sehr schwer.
In der Simulation passiert dies auch, wenn ich der Anwendung _immer_
dieselben Messwerte liefere. D.h. von den Messwerten ist es nicht abhàngig.
Nun dachte ich, dass es durch meine neu hinzugefügten Änderungen
gekommen sei. Woraufhin ich eine àltere Version der Software testete.
Aber auch da tritt dieser Fehler auf. D.h. also, dass es nicht an meinen
neu hinzugefügten Änderungen liegt.
Eine Fehlerbehandlung ist leider nicht durchgehend vorhanden, sondern
immer nur an den Modulen, wo ich Hand anlegte. Der Hinweis doch komplett
eine Fehlerbehandlung zu implementieren ist nicht ziel-führend, da das
nicht in einem vertretbarem Zeitaufwand umsetzbar ist.

Weiß jemand Rat, wie ich dem Problem auf die Spur kommen kann?

Mit freundlichen Grüßen
Susann

Ähnliche fragen