Absturz in VS6C++ lokalisieren



  • Hallo,

    OS: Windows XP Prof
    Compiler: MS Visual C++ 6.0

    ich programmiere an einem größeren Projekt. Seit meiner letzten Version habe ich nun das Problem, dass das Program abstürzt. Und zwar immer dann wenn ein paar Stunden nichts damit gemacht hat.

    Das Programm wird im Normalbetrieb in die Trayleiste verbannt und prüft nur regelmäßg nach ob dem weiteren Betrieb was entgegen steht.

    So nach 4-12 Stunden stürzt das Programm einfach ab. Die Version davor macht das nicht. Man kann es leider auch nicht beschleunigen oder reproduzieren. Ich möchte ungern die version auf basis der alten nochmal erstellen (weil ich faul bin und auch nicht weiß ob der fehler dann trotzdem da ist (evtl. ist der schon immer da gewesen))

    Frage:
    Ich erhalte beim Absturz ja einen Offset. Mit Pascal konnte ich damit im Compiler mir den stelle im source zeigen lassen wo der absturz passiert.
    Kann man das in VS6C++ auch?

    Stefan



  • Erzeuge Debug-Infos (PDB-Datei) für die Release Version und lass einen MiniDump schreiben, wenn es abstürzt (entweder durch Dr. Watson oder selber via MiniDumpWriteDump).

    Dann kannst Du es in WinDbg oder in VS2003 und später debuggen; er zeigt DIr dann genau die Source-Zeile wo es abgestürtz ist.



  • Jochen Kalmbach schrieb:

    Erzeuge Debug-Infos (PDB-Datei) für die Release Version und lass einen MiniDump schreiben, wenn es abstürzt (entweder durch Dr. Watson oder selber via MiniDumpWriteDump).

    Dann kannst Du es in WinDbg oder in VS2003 und später debuggen; er zeigt DIr dann genau die Source-Zeile wo es abgestürtz ist.

    Hallo Jochen,

    erstmal vielen Dank für Deine zeit.
    Hast du dafür einen link? sonst frag ich einfach 🙂

    a) Debug Infos erzeugen: Check

    b) MiniDump schreiben: Ist doch "nur" die meldung bei welchem offset und so er abstürzt? oder ist das auch ein speicherdump?
    Reicht es Dr. Watson einfach zu starten?

    c) hab MS Visual C++ 6.0. Wie kann ich das dort debuggen. hab keine menüpunkt dafür gefunden.

    Stefan


  • Mod

    Ja es langt den WinDbg zu benutzen, starte ihn und wähle die Settings die Du haben möchtest. Mit VC6 kannst Du Crash Dumps nicht analysieren. Dann musst Du WinDbg nehmen.



  • das probier ich aus...
    danke

    ein gloabes try gibts nicht oder?



  • Globales "try": SetUnhandledExceptionFilter....
    Siehe:
    http://www.c-plusplus.net/forum/viewtopic-var-p-is-1395092.html



  • Jochen Kalmbach schrieb:

    Globales "try": SetUnhandledExceptionFilter....
    Siehe:
    http://www.c-plusplus.net/forum/viewtopic-var-p-is-1395092.html

    bingo. danke


Anmelden zum Antworten