Fehler, der im Debug-Modus nicht auftritt



  • Hallo zusammen!

    Ich habe in meinem Programm (>1000 Zeilen) folgendes Problem:
    Beim normalen Lauf des Programms tritt ein Fehler auf (Die gute Windows-Fehlermeldung "***.exe hat ein Problem festgestellt und muss beendet werden"). Im Debug-Modus läuft das Programm allerdings problemlos durch.
    Daher habe ich keine Ahnung, wo bzw. wonach ich suchen muss, um den Fehler zu beheben.
    Habt ihr schonmal Erfahrung mit dieser Art Fehler gemacht und könnt mir helfen?

    Danke, BeXXs



  • Hallo,

    Sowas kann bei nicht initialisierten Variablen (z.Bsp. Zeigern) auftreten. Manche Compiler initialisieren Diese im Debug-Modus aber nicht im Release Modus.


  • Mod

    Und um sowas zu behaben: Kompilier das mal mit allen Compilerwarnungen. Da wirst du möglicherweise schon ein paar Hinweise bekommen. Falls das noch nicht hilft: Debugger benutzen.



  • Eine andere Möglichkeit ist die Überschreitung von Arraygrenzen. Im Debugmodus kanns dann passieren dass nur in die Debuginformationen geschrieben wird, während im Releasemodus lebenswichtige Daten verlorengehen (z.B. Rücksprungadressen 😡)

    Da du mit dem Debugger nicht weiterkommst, versuchs mal mit dem guten alten cout-debugging 🙂 Da du ja sicherlich nach jeder größeren Änderung neu gebaut und getestet hast, weißt du ja schon grob in welchem Bereich der Fehler auftritt. Dort dann in sinnvollen Abständen Output produzieren und so den Fehler schrittweise einkreisen.



  • Ich hab den Fehler gefunden, danke für die Hilfe.

    Da du mit dem Debugger nicht weiterkommst, versuchs mal mit dem guten alten cout-debugging 🙂 Da du ja sicherlich nach jeder größeren Änderung neu gebaut und getestet hast, weißt du ja schon grob in welchem Bereich der Fehler auftritt. Dort dann in sinnvollen Abständen Output produzieren und so den Fehler schrittweise einkreisen.

    Genau das habe ich gemacht. Ist zwar mühsam, aber funktioniert. Hat mich an die Zeit erinnert, als ich noch gar nicht wusste, was ein Debugger ist...



  • Woran hats denn jetzt gelegen?


Anmelden zum Antworten