2017-05-01 3 views
1

Wie kann ich beim Analysieren einer Core-Dump-Datei sehen, dass die Werte optimiert sind? Gibt es eine Möglichkeit, das Register zu erhalten, in dem sie gespeichert sind?gdb coredump: "Wert wurde optimiert"

+0

Die beste Wette ist, die Optimierung auszuschalten, wenn Sie können. Ansonsten würde diese Antwort vielleicht helfen? http://stackoverflow.com/a/1350436/1212725 – bruceg

Antwort

0

Wenn Sie an einem Punkt sind, an dem Sie einen Kern sehen, in dem bestimmte Werte optimiert sind, wenn es schon zu spät ist. Am einfachsten ist es, wenn Sie den Kern in einem Build mit aktiviertem Debugging regelmäßig reproduzieren können.

Aber wenn Sie nicht können, ist ein Trick, mit dem ich mäßiges Glück hatte, ist, weiter nach oben auf den Call-Stack und versuchen, zu den interessanten Daten durch mehr Ebenen der Indirektion (zum Beispiel, wenn Sie in der Aufruf-Stack, vielleicht ist der Zeiger, den Sie benötigen, an einem Speicherort statt in einem Register, das verloren gegangen ist).

Verwandte Themen