2016-11-16 5 views
0
nicht

Ich benutze QtCreator in Ubuntu (virtuelles Feld), um ein einfaches C++ Programm (hello.cpp) auszuführen. Der QtCreator erstellt und führt die Anwendung in Ordnung. Aber wenn es mich nicht zum Debuggen lässt. Ich verwende ein Shell-Skript auf Ubuntu von vbox, um einige Cross-Compiler zu installieren, da ich eine Hardware habe, die Arm-Architektur enthält. Schließlich möchte ich die kompilierte ausführbare Datei auf die Hardware schieben und remote debuggen. Davor versuche ich, das Desktop-Debugging auf Ubuntu durchzuführen, aber die GDB stürzt ab. Ich denke, GDB wird mit einem Python-Pfad verwechselt. Kann mir jemand dabei helfen? Hier ist das Bild von GDB-Log:GDB-Absturz - UNERWARTET GDB STDERR: Schwerwiegender Python-Fehler: Py_Initialize: Konnte die Gebietsschema-Kodierung

GDB log

Antwort

0

Dieser Fehler höchstwahrscheinlich bedeutet, dass Python nicht richtig auf Ihrem Rechner installiert ist. Dieser Fehler tritt während der Initialisierung von gdb auf, wenn er versucht, den Python-Interpreter zu initialisieren. Wenn Py_Initialize fehlschlägt, gibt es nicht viel gdb kann darüber tun ...

+0

Der Python ist ordnungsgemäß installiert. Aber die beunruhigende Sache ist, wie GDB mit Python-Pfaden verwirrt wird. Mein Shell-Skript, das alle Cross-Compiler und anderes Zeug installiert, enthält Dateien wie Python 2.7. Wenn ich dieses Shell-Skript ausgeführt habe, richtet es einige Ordner ein, die eine Datei mit allen Pfadvariablen enthalten. Das QtCreator Shell-Skript verweist auf die Datei, die alle diese Pfade enthält. Mein Qt zeigt auf diese Ordner, die von Shell-Skript anstelle von meinen Ubuntu-Python-Pfaden installiert werden. Was ist der erste Schritt, um es herauszufinden? – ringul

0

Das Problem liegt an GDB-Optimierung Umgebungsvariablen. In der IDE befinden sich 4 Variablen, die mit -o2-Optimierung konfiguriert wurden. Entfernen Sie die -O2-Optimierung in der Vorderseite der Variablen, dann wird Ihr Problem gelöst. In meinem Fall ist es -o2, in Ihrem Fall kann es andere Optimierungen geben. Bitte suchen Sie nach ihnen.

Verwandte Themen