schnellere Debug builds [gelöst]
Verfasst: 15.12.2014, 23:19
tl;dr: RelWithDebugInfo mit deaktivierten Optimierungen (/Od) für schnelle, debugbare Version
Ich habe gerade mein Problem mit extrem langsamen Debug-Builds gelöst, und auch wenn die Lösung dann doch recht einfach war, wollte ich sie einfach mal aufschreiben, vielleicht hilft es ja trotzdem jemanden.
Also, mein Spiel lud im Debug-Build unglaublich langsam. Während die Release-Version innerhalb von <10 Sekunden startet, braucht der Debugbuild mehrere Minuten - was die Produktivität unglaublich in den Keller treibt. Das Debug-Builds langsamer laufen ist ja normal, allerdings war in meinem Fall das Spiel immer noch sehr flüssig spielbar, nur das Laden dauerte eben unglaublich lange. Ich habe also ein wenig im Internet gesucht um zu sehen, welche Schalter man eventuell benutzen kann, habe auch ein paar ausprobiert, aber nichts hat wirklich geholfen.
Nun gibt es ja auch immer noch die RelWithDebInfo Konfiguration (zumindest in meinen CMake erstellen VS2013 Projekten). Allerdings hatte ich damit das Problem, dass Variablen-Inhalte nicht korrekt angezeigt werden. Ich hatte aber gar keine üblen Speicherzugriffsfehler oder so, meine Logik war einfach falsch und ich wollte mein Programm durchsteppen und sehen, was schief läuft, und ohne korrekte Variablen Inhalte ging es einfach nicht.
Dann habe ich aber weiter geschaut und in den Projektoptionen unter "C/C++ / Optimization" alle Code-Optimierungen deaktiviert (/Od). Und schon wurden alle Variableninhalte richtig angezeigt und das Spiel startet genauso schnell wie im Debug-Build.
Ein richtiger Debugbuild kann natürlich immernoch jede Menge Extra-Infos liefern. Aber für all die Fälle wo ich das gar nicht brauche habe ich jetzt einen Build, mit dem man wesentlich schneller Dinge testen kann.
Ich habe gerade mein Problem mit extrem langsamen Debug-Builds gelöst, und auch wenn die Lösung dann doch recht einfach war, wollte ich sie einfach mal aufschreiben, vielleicht hilft es ja trotzdem jemanden.
Also, mein Spiel lud im Debug-Build unglaublich langsam. Während die Release-Version innerhalb von <10 Sekunden startet, braucht der Debugbuild mehrere Minuten - was die Produktivität unglaublich in den Keller treibt. Das Debug-Builds langsamer laufen ist ja normal, allerdings war in meinem Fall das Spiel immer noch sehr flüssig spielbar, nur das Laden dauerte eben unglaublich lange. Ich habe also ein wenig im Internet gesucht um zu sehen, welche Schalter man eventuell benutzen kann, habe auch ein paar ausprobiert, aber nichts hat wirklich geholfen.
Nun gibt es ja auch immer noch die RelWithDebInfo Konfiguration (zumindest in meinen CMake erstellen VS2013 Projekten). Allerdings hatte ich damit das Problem, dass Variablen-Inhalte nicht korrekt angezeigt werden. Ich hatte aber gar keine üblen Speicherzugriffsfehler oder so, meine Logik war einfach falsch und ich wollte mein Programm durchsteppen und sehen, was schief läuft, und ohne korrekte Variablen Inhalte ging es einfach nicht.
Dann habe ich aber weiter geschaut und in den Projektoptionen unter "C/C++ / Optimization" alle Code-Optimierungen deaktiviert (/Od). Und schon wurden alle Variableninhalte richtig angezeigt und das Spiel startet genauso schnell wie im Debug-Build.
Ein richtiger Debugbuild kann natürlich immernoch jede Menge Extra-Infos liefern. Aber für all die Fälle wo ich das gar nicht brauche habe ich jetzt einen Build, mit dem man wesentlich schneller Dinge testen kann.