Open Source Project Compilieren... läuft nur im Debug Build problemlos



  • Hallo,

    ich versuche momentan ein opensource Projekt (Cuneiform Linux) unter Visual Studio zu kompilieren.
    Dies ist auch soweit kein Problem.
    Ich bin sonst aus der .Net Welt und hatte c++ nur in Grundlagen während des Studiums.

    Mein Hauptproblem ist, dass es im Debug Build ohne Probleme funktioniert.
    Wenn ich aber in VS2015 den Release build erstelle, habe ich hinterher abstürze beim verarbeiten mancher Dokumente mit dem Projekt.

    Ich habe im Code schon die IFDEF und IFNDEF flags versucht umzuleiten, aber leider funktioniert das auch nicht.

    Wie kann ich den Release Build dazu bringen, dass dieser die gleichen Code-Zweige verwendet wie der Debug Build?

    Gruß
    Ingo



  • ibaxx schrieb:

    Ich habe im Code schon die IFDEF und IFNDEF flags versucht umzuleiten, aber leider funktioniert das auch nicht.

    Ich verstehe nicht ganz was du damit bezwecken willst. Wenn die Release abstürzt und die Debug funktioniert ist das meist ein Indiz darauf, dass du z.B. unreferenzierte Variablen benutzt. Im Debug-Modus erledigt das VS für dich. Da werden die Variablen auf definierte Werte beim Erzeugen gesetzt (Zeiger erhalten z.B. den Wert NULL), was im Release nicht gemacht wird. Greifst du dann auf die Adresse zu zeigt die im Speicher irgendwohin und du hast das undefiniert Verhalten. Deshalb immer sauber die Variablen mit Init-Werten bei der Erzeugung belegen. Hast du beim Debug-Build ggf. Threads die mit Fehlerwerten returnieren?
    Irgendwas umzubiegen ist glaube ich nicht so der richtige Ansatz. Finde den Fehler und elimiere ihn, wenn das noch so einfach möglich ist.


Anmelden zum Antworten