Debug-Version eines Programms erzeugt verhält sich anders als Release-Version



  • erzeugt denn der debug-build irgendwelche warnungen?
    dann vielleicht diese erstmal abarbeiten.

    ansonsten kann es an fast allem liegen.



  • klar darf das passieren, nämlich wenn in dem programm ein fehler ist.



  • Wenn Unterschiede zwischen Debug und Release-Version auftreten liegt es fast immer daran, dass irgendwelche Variablen nicht initialisiert wurden. Ich würde da zuerst nachschauen.



  • Hallo,

    also der Debug-Build liefert satte 195 Warnings.
    Der Release-Build immerhin 109.

    Also schonmal einiges. Mhm also von malloc, delete, new, templates, etc. wird sehr unstrukturiert an sehr vielen Stellen gebrauch gemacht. Also da wüsste ich gar nicht wo ich anfangen soll zu suchen.

    Also meine Annahme wäre jetzt eben gewesen, dass irgendwo im Quellcode stellen sind, die ausgeführt werden oder eben nicht je nachdem ob Debug oder Release gewählt ist. Sowas wie

    #ifdef DEBUG
    ...
    #else
    ...
    #endif

    So ein Mist aber auch.

    Trotzdem erstmal danke für die Hilfe.



  • a) ist es schon mal ein schlechtes Zeichen, wenn Warnings herauskommen.
    b) ist es schwierig, irgendwelche Aussagen bezüglich des Verhaltens zu machen, wenn man praktisch keine Informationen hat.



  • Mhm also gut dann werde ich mal versuchen, alle Warnings zu beseitigen und melde mich dann ggf. wieder.



  • Braunstein schrieb:

    Wenn Unterschiede zwischen Debug und Release-Version auftreten liegt es fast immer daran, dass irgendwelche Variablen nicht initialisiert wurden. Ich würde da zuerst nachschauen.

    Ich würde auch sagen, dass da mit 95%iger Wahrscheinlichkeit es an so einem/mehreren Fehlern, oder deren Folgefehler liegt.

    Ich würde so ein grosses Programm sowieso ein wenig mehr Testen. Vor allem ab und zu mal auf die Release Version umstellen.



  • Das würde ich genauso machen. Nur derjenige der das Programm geschrieben hat anscheinend nicht, und somit ist nun das Kind quasi in den Brunnen gefallen. Und ich darf mich durch 30.000 Zeilen Quellcode wühlen und suchen woran es liegt 😃



  • Geheimtipp: Man kann auch Releaseversionen Debuggen.



  • Fruchtmixer schrieb:

    Das würde ich genauso machen. Nur derjenige der das Programm geschrieben hat anscheinend nicht, und somit ist nun das Kind quasi in den Brunnen gefallen. Und ich darf mich durch 30.000 Zeilen Quellcode wühlen und suchen woran es liegt 😃

    Also erstmal einfach alle Klassen anschauen und die Variablen initialisieren.

    Wenn der Fehler dann immernoch da ist. Viel spass. (den Autor nebenbei ein wenig mit dem Stock schlagen hilft dir enorm für die Psyche. :))


Anmelden zum Antworten