CMake-Erstellungsmodus RelWithDebInfo

Ich denke, dass ich den Unterschied zwischen Release- und Debug-Build-Modus verstehe. Der Hauptunterschied besteht darin, dass im Debug-Modus die erzeugte ausführbare Datei nicht optimiert ist (da dies das Debuggen erschweren könnte) und die Debug-Symbole enthalten sind.

Beim Erstellen von PCRE, einer der externen Abhängigkeiten für WinMerge, ist mir ein Erstellungsmodus aufgefallen, den ich zuvor noch nicht gesehen hatte: RelWithDebInfo.

Der Unterschied zwischen Debug und RelWithDebInfo wird hier erwähnt:http://www.cmake.org/pipermail/cmake/2001-October/002479.html. Beispiel: "RelwithDebInfo ist dem Release-Modus ziemlich ähnlich. Es erzeugt vollständig optimierten Code, erstellt aber auch die Programmdatenbank und fügt Debug-Zeileninformationen ein, um dem Debugger jederzeit eine gute Chance zu geben, zu erraten, wo Sie sich im Code befinden."

Das klingt nach einer wirklich guten Idee, ist aber nicht unbedingt klar, wie man sie einrichtet. Dieser Link beschreibt, wie dies für VC ++ aktiviert wird:http://www.cygnus-software.com/papers/release_debugging.html

Vermisse ich etwas oder ist es nicht sinnvoll, den gesamten Release-Code als RelWithDebInfo zu kompilieren?

Antworten auf die Frage(5)

Ihre Antwort auf die Frage