2013-05-17 3 views
16

Ich verwende gcc 4.7 und gcc 4.8 zusammen mit QtCreator 2.7.1.Wie kann das Debugging-Fenster "Locals and Expressions" mit gcc 4.8 funktionieren?

Das Problem ist, dass, wenn ich verwenden gcc 4.8, ich bin nicht in der Lage, die Werte meiner Variablen in dem "Locals und Ausdrücke" Fenster im Debug-Modus zu sehen:

enter image description here

Während gcc 4.7 funktioniert:

enter image description here

Ich habe versucht, das zu reparieren, indem ich mit den QtCreator Optionen spiele, aber ohne Erfolg.

Ich bin nicht sicher, ob das tatsächlich etwas mit der Compiler-Version zu tun hat, aber das Problem verschwindet, sobald ich mit der älteren Version neu erstellt habe.

+2

Versuchen Sie, Ihre GDB auf mindestens 7,5 zu aktualisieren (aktuell ist es 7.6). –

Antwort

15

Der Grund ist wahrscheinlich, dass gcc 4.8 standardmäßig ein neueres Format zum Speichern von Debugging-Informationen verwendet (http://gcc.gnu.org/gcc-4.8/changes.html). Wenn Sie die gdb-Version kleiner als 7.5 verwenden (siehe gdb --version), müssen Sie das Argument -gdwarf-3 für das Kompilieren mit Debug-Informationen mit gcc 4.8 angeben.

+1

'' -gdwarf-3'' arbeitete für mich mit gcc 5.1 und gdb 7.9.1 –

8

Das gleiche Symptom kann zur Folge haben einen Debugger aus, die die zu neuen, statt zu alt ist!

In diesem Fall handelt es sich nicht um die GDB-Version, sondern um die Version von Python, die beim Erstellen in sie eingebettet wurde. Ubuntu 13.10 wird mit einer GDB ausgeliefert, die mit eingebettetem Python3 anstelle von Python2 erstellt wurde. Qt Creator (zum Zeitpunkt des Schreibens) ist damit nicht kompatibel.

Sie können überprüfen, um zu sehen, wenn Sie einen Python2 GDB, indem es von einem Terminal und Typisierung ausgeführt haben:

(gdb) python print sys.version 

Wenn Sie einen ungültigen Syntaxfehler erhalten, haben Sie wahrscheinlich Python3 bekommen. Das erfordert in Klammern, was zu drucken, so versuchen:

(gdb) python print(sys.version) 

Wenn das mit einer 3.x.x Antwort wird, Qt Creator Python Debug-Skripte kommt wieder nicht funktioniert (noch) nicht. Sie müssen also eine GDB mit Python2 erstellen.

Hier ist mein Blog Eintrag darüber: QtCreator Debugger Not Showing Locals in Ubuntu 13.10.

+1

Vielen Dank, das war mein Problem! –

+0

speicherte meinen Tag. Vielen Dank. –

+0

Oh mein Gott, du bist ein Lebensretter! – Doodad

2

In meinem Fall war es, was HostileFork beschrieben: ubuntu 13.10 + Qt Creator 2.8

Diese bug 3 in Qt Creator festgelegt wurde, noch nicht freigegeben.

Um dies zu lösen, ohne GDB neu zu kompilieren, sondern nur die Release Candidate von Qt Creator ist baut 3.

Es Nutzung steht zur Verfügung on Qt project website oder PPA (ppa: p12/QtCreator) mit letzter git Version aber bauen ist gebrochen Ab heute.

+0

ppa https://launchpad.net/~p12/+archive/qtcreator –

Verwandte Themen