Ist <value optimized out - > in gdb ein problem?

Ich habe eine Anwendung, die nur die Abstürze im -O2-Optimierung (kompiliert mit gcc-4.2.4). Wenn ich Schritt durch den code und Holen Sie auf der Stelle, stürzt ab und versuchen Sie, untersuchen Sie den Wert, bekomme ich einen "value optimized out" in der gdb.

Ich im internet gelesen, dass dies bedeutet, dass der Wert in einem register gespeichert. Ich Frage mich, ob mein Absturz könnte damit zusammenhängen, dass einige Informationen abgelegt im Register? Gibt es eine Möglichkeit zu drucken, was ist in den Registern, um zu sehen, wenn es beschädigt wurde? Gibt es einen Weg, um Optimierungen jedoch nicht registriert?

Dank!

  • Optimierung in der Regel nicht schaffen die bugs (das wäre extrem selten). Es kann jedoch Häufig die Ursache für memory leaks wurden unentdeckt in einer nicht optimierten version zu sein, ausgesetzt.
  • Bitte akzeptieren Sie die Antwort, es hat fast 2 Jahre her, dass Sie diese Frage gestellt.
InformationsquelleAutor bbazso | 2010-02-16
Schreibe einen Kommentar