Release/debug?



  • Hi,
    Was ist genau der Unterschied zwischen den Beiden? was soll ich immer outputten, wenn ich mit einem PJ arbeite?
    vor kurzem habe ich eine .exe (mit VS.NET) erstellt, und beim Ausführen wurde immer gemeckert, und nach der Suche im Internet, habe ich gefunde, dass ich meine .exe als RELEASE haben muß, und dann hat es problemlos geklappt.

    Ich danke



  • Unter debuggen versteht man das aufspüren und eliminieren von Fehlern. Wenn du nun als Debug-Version compilierst, werden zusätzliche Informationen (Variablennamen, Zeilennummern usw.) gespeichert, die das Debuggen dann erheblich erleichtern.

    Normalerweise programmiert und testet man mit der Debug-Version. Das fertige Programm wird dann als Release ausgeliefert (Da ist die .exe usw. dann auch um einiges kleiner).

    [ Dieser Beitrag wurde am 10.05.2003 um 01:34 Uhr von DrGreenthumb editiert. ]



  • bei der debug version werden meist auch alle variablen initialisiert. im release mode musst du selbst dafür sorgen :p



  • ich verstehe, deshalb ist die .exe bei Release ungefähr um die Hälfte kleiner.



  • Bei C++Builder werden die Release-Versionen größer. Und zwar deutlich. Und zwar auch, wenn man keine inline-Funktionen verwendet.
    Sie sind aber auch deutlich schneller.



  • zur Info: im Release werden auch im compiler optimierungsoptionen angeschalted,welche zu einer deutlichen beschleunigung des codes fuehrt.
    im release wird nicht nur ausgeliefert, sonder sollte auch nochmal gruendlich getested werden. Es kann vorkommen das ein programm kaput optimiert wurde.



  • Original erstellt von <neu hier>:
    bei der debug version werden meist auch alle variablen initialisiert. im release mode musst du selbst dafür sorgen :p

    Nana so kann man das nicht sagen. Im Debug-Modus werden (zumindest in VC) alle variablen mit 0xCC aufgefüllt. Im Release-Modus dagegen mit 0x00. So kann man uninitialisierte Varibalen aufspüren. Kümmern musst du dich in beiden Fällen.


Anmelden zum Antworten