Erstelltes Programm stürzt immer ab



  • Hallo,
    ich schreibe gerade an einem Windows-Forms-Programm zum zyklischen Auslesen von Sensordaten.
    Dazu starte ich über einen Button den Windows::Forms::Timer (timer->Enabled = true;) und übernehme bei jedem TickEvent die Daten. Die Befehle dafür liegen in einem lib-File.
    Die Daten werden sowohl als Werte in Labels als auch als Graph in einem Panel ausgegeben. Gestoppt wird der Timer wieder über einen Button.
    Das funktioniert soweit auch, wenn das Programm aus Visual C++ gestartet wird.
    Wenn es allerdings direkt aus dem Explorer o.ä. gestartet wird, stürzt es nach dem Starten des Timers nach einigen fehlerfreien Zyklen ab und WinDBG sagt irgenwas von Access Violation.

    Habe es übrigens auch schon mit dem System::Timers::Timer versucht, half auch nicht.
    Kann mir diesbezüglich jemand einen Tip geben?

    Falls jemand helfen möchte, kann ich demjenigen auch das Programm mal zur Verfügung stellen. da es doch etwas zu groß ist, um es hier reinzustellen.

    Vielen Dank schon mal



  • WO stürtzt es denn ab? Du kannst Dir den Callstack anzeigen lassen (debugge es bitte mit VS2003/2005! nicht mit WinDbg!)



  • Hallo,
    danke erst mal für den Tipp.
    Die genaue Absturzstelle ist im CallStack nicht auszumachen, da das Fenster beim Programmabsturz auch mit weg ist.
    Der Absturz erfolgt jedenfalls immer im der TickEvent-Routine des Timers. Durch Einzelschrittbetrieb habe ich eine Absturzstelle ausfindig gemacht (das Updaten des Panels für die graf. Darstellung), diese dann auskommentiert und neu gestartet. Stürzt jetzt halt bissl später ab. Kann es sein, dass der Garbage Collector den Timer killt und damit das Programm beendet? Es kommt jedenfalls keine Fehlermeldung.
    Und wie gesagt, es passiert nur, wenn ich das Programm direkt aus dem Explorer starte.Ich bin jedenfalls mit den Nerven am Ende...



  • Hast Du ein kleines Beispielprojekt, wo das auftritt? Kannst Du mir das zukommen lassen?



  • Hallo Jochen,

    das Programm ist prinzipiell nicht so groß, es sind nur eben mehrere Files.
    Ich weiss auch nicht genau, was ich weglassen kann. Also ich würde es dir schicken, wenn du mir mal deine Email-Adresse geben könntest.
    Danke schon mal



  • Ande81 schrieb:

    Hallo Jochen,

    das Programm ist prinzipiell nicht so groß, es sind nur eben mehrere Files.
    Ich weiss auch nicht genau, was ich weglassen kann. Also ich würde es dir schicken, wenn du mir mal deine Email-Adresse geben könntest.
    Danke schon mal

    Entweder Du schickst mir eine E-Mail (über das Benutzerprofil) oder Du legst eine E-Mail in Deinem Benutzerprofil an...



  • kenne derartige probleme,

    z.B habe eine oglanwendung, compiled und laeuft einwandfrei, Visual studio und win neu installiert und nur chrashed es, ... 😉

    Oft hat das was mit timing zu tun, bei mir lag das dran das ich nach neuinstallation nen aelteren graphik treiber hatte, der offensichtlich ein klein bischen anders reagiert, z.B laenger braucht um ogl hochzufahren und schon rendert man auf eine noch ungluetigen context bei programmstart... ;-).

    Was ich sagen will: Wie rufst du denn dein programm in visual studio auf? im debugging modus oder ohne? Das aendert naemlich einiges im Timing, zz.B wieviel zeit externe init procese haben, bis man irgendlwelche funktion aufruft, etc...

    cheers
    Flo


Anmelden zum Antworten