Um Symbole zu entfernen, kann Qt Creator einen letzten Build-Schritt nach qmake und make ausführen, der den Befehl 'strip' für die Binärdatei in Ihrem App-Bundle aufruft. Zum Beispiel: -
strip -u -r ./MyApplication/Contents/MacOS/MyApplication
Um zu debuggen, müssten Sie ein separate .dsym file während des Build erzeugt werden, die die Symbole enthält. Wenn sich diese auf dem Host befindet, sollte der Debugger dies automatisch übernehmen; tut es mit lldb, obwohl mit gdb, müssen Sie möglicherweise manuell laden die Symboldatei.
wie diesen Schritt zusätzliche build
Wählen Sie Projekte aus der rechtsseitigen Werkzeugleiste
Stellen Sie sicher, Sie sind auf dem Aufbau und Betrieb von Registerkarte aktivieren (GraphicsScene ist nur der Name des Projekts)
Unter Build Schritte, sehen Sie zwei Schritte, qMake
und Make
. Wählen Sie hinzufügen Build-Schritt für einen kundenspezifischen Prozessschritt
Füllen Sie die relevanten Felder, die Sie benötigen für die Wege zu korrigieren, anstatt einfach kopieren diese:
Wenn der Build fertig ist, wird der strip-Befehl ausgeführt. Wenn Sie Fehler haben, liegt wahrscheinlich ein Problem mit dem Pfad zum Befehl strip oder dem Pfad zur ausführbaren Datei Ihres App-Bundles vor.
Beachten Sie, dass wenn Sie den vollständigen Pfad zum Entfernen benötigen, er sich in/usr/bin/strip befindet.
Wie für die Symboldatei glaube ich, dass Sie den addsymbolfile
Befehl mit dem Argument für den Pfad zu der dsym-Datei verwenden können. Allerdings ist gdb inzwischen veraltet und Sie sollten jetzt wirklich lldb verwenden, das die dsym-Datei automatisch findet, sobald sie von Spotlight indiziert wurde.
Ich verwende QtCreator mit Meine Toolchain ist gdb, nichts Besonderes. Das Projekt wird von Creator mithilfe von qmake erstellt. Kannst du ein wenig darüber hinausgehen, wie ich diesen zusätzlichen Build-Schritt aktivieren kann und wie ich diese Symbole manuell laden würde, wie du es erwähnst? – Steve
Ich habe die Antwort als Antwort auf Ihre Frage aktualisiert. – TheDarkKnight
Ist dieser benutzerdefinierte Prozessschritt lokal für den Entwicklercomputer oder wird er irgendwo in einer .pro-Datei gespeichert? Ich würde das gern umsetzen und es "einfach funktionieren lassen" für die anderen Entwickler in meinem Team. Ich werde das vor Ende der Woche versuchen. – Steve