Xcode 4 Instruments zeigt keine Quellzeilen an
Ich habe gerade angefangen zu spielen mit Xcode 4, und gefunden, dass, egal wie ich die setup-debug-Symbole in dem Projekt Instrumente weigert sich, Anzeige von Quellcode-Zeilen, für die stack-trace-Elemente, die entsprechen meinem code. Nur zeigt die hex-offsets identifiziert und meine ausführbare Datei als Modul besitzen. Drehen auf "Source Location" zieht eine leere zu. Dies gilt auch für das Skelett, das OpenGL ES-Projekt generierten Xcode (File → New → New Project... → iOS → Anwendung → OpenGL ES-Anwendung).
Dieses problem tritt nur in Instrumente (ich habe versucht, die CPU-und OpenGL-tracing bisher). Gdb greift die debug-Symbole sind nur in Ordnung.
Muss ich etwas besonderes tun, um zu sehen, den source-code für stack-traces in Instrumente, oder ist das ein bug in Xcode 4?
Bisher habe ich:
- Geändert
Debug Information Format
ausDWARF with dSYM File
zuDWARF
. - Geändert
Strip Debug Symbols During Copy
ausYes
zuNo
. - Verändert die build-System zu verwenden der Debug-build anstatt der Version mit Instrumenten.
InformationsquelleAutor der Frage Marcelo Cantos | 2011-03-11
Du musst angemeldet sein, um einen Kommentar abzugeben.
Die anderen Antworten sind gut, langfristige Updates. Wenn Sie lieber nicht warten, für Scheinwerfer-neu erstellen den index und nur Symbole für eine Instrumenten-Sitzung können Sie Fragen, Instrumente zur symbolicate der aktuellen Sitzung.
dSYM
- Datei. Gehen Sie zurück zu Instrumenten, navigieren Sie zu diesem Verzeichnis, und wählen Sie IhredSYM
- Datei. Der einfachste Weg ist, ziehen Sie einfach diedSYM
- Datei direkt aus dem Finder auf das "Wählen Sie dSYM" dialog-Instrumente.InformationsquelleAutor der Antwort Phil Calvin
Ich hatte dieses Problem heute gelöst und es auf diese Weise:
Das sollte es tun. Beachten Sie, dass aus irgendeinem Grund, das build-Ziel ist nicht die gleiche build-Konfiguration als Profil Ziel-und dieses abgeschaltet hat mir mehr als ein mal oder zwei.
InformationsquelleAutor der Antwort JonnyBoy
Versuchen Sie, einen anderen code signing identityd.h. provisioning-Profil für die Release Konfiguration.
InformationsquelleAutor der Antwort leo
Fand ich heraus, was das Problem war, ich hatte genau das gleiche problem.
Die Antwort kommt von: Fehlende symbol-Namen, wenn profiling IPhone-Anwendung, die mit Instrumenten
-g3
).dsymutil
auf Ihre binäre/dynamische Bibliothek, die Sie wollen in der Lage sein, um den Zugriff auf die debug-Informationen.Dieser erzeugt eine dSYM bundle-Ordner, und wenn indiziert Spotlight die debug-Informationen, die notwendig zur Verfügung gestellt wird, Instrumente.
Ich nehme an, in deinem Fall, es dauerte einige Zeit, bevor die Scheinwerfer hatten es indiziert ist - und wenn er Sie hatte, dann Dinge magisch geklappt.
InformationsquelleAutor der Antwort Dan
Es gerade angefangen zu arbeiten; keinen Reim oder Grund.
Verbrachte ich die Letzte halbe Stunde versuchen, es wieder zu Versagen, in der Hoffnung, mehr nützliche Antwort hier, aber ich kann nicht, auch nach der Wiederherstellung der Skelett OpenGL-Programm von Grund auf und verfolgten alle meine Schritte.
Habe ich öffnen Sie die symbolicatecrash script in emacs (heptachlor anderswo, wrt diese Art von problem), und es begann, nachdem ich dies getan habe. Aber an keiner Stelle habe ich das ändern oder speichern.
Es ist ein Geheimnis.
InformationsquelleAutor der Antwort Marcelo Cantos
Ein Grund für Instrumente ohne Zeichen könnte sein, dass Spotlight nicht finden können, die dSYM-Datei. Damit Ihr Wechsel von
DWARF with dSYM
zuDWARF
ist keine gute Idee. Sollten Sie es wieder ändern da es ohne dSYM-Datei, die Sie nicht get-Symbole sowieso (zumindest scheint dies der Fall zu sein für Snow Leopard, ich habe Berichte gesehen, dass einige Leute bekam auch Symbole ohne dSYM-Dateien, aber alle diese Menschen waren mit Lion). Nach der änderung, stellen Sie sicher, Sie erstellen eine saubere build (manchmal Xcode schlägt zu generieren, die dSYM-Datei, die auf meinem system für nicht-sauber-builds).Wenn Sie immer noch keine Symbole, nachdem alle, ist etwas falsch mit Ihrem Spotlight-Datenbank. Versuchen Sie, den Ordner, in dem die dSYM-Dateien nach dem build auf der Liste der Ordner, die Scheinwerfer sind nicht index und dann wieder entfernen aus dieser Liste. Dies bewirkt, dass Spotlight neu indizieren der Dateien.
Wenn dies auch nicht helfen, vielleicht Ihr Spotlight-index komplett beschädigt. In diesem Fall versuchen Sie die folgenden in einem Terminal:
Dies bewirkt, dass Spotlight zum ersten stop der Indizierung Ihrer Festplatte und löschen dann alle index-Daten, die in der Vergangenheit erfassten Daten und starten Sie dann re-Indizierung. Die obigen Zeilen davon ausgehen, dass Ihre dSYM-Dateien befinden sich auf der Haupt-Festplatte (und nicht auf einer anderen Festplatte oder einem Netzwerk-volume, sonst müssen Sie ersetzt '/' mit dem entsprechenden mount-Punkt des Volumes). Geben Rampenlicht einige Zeit, um neu indizieren, bevor Sie es erneut versuchen.
InformationsquelleAutor der Antwort Mecki
In neueren Versionen der Instrumente (ich habe
5.1.1 (55045)
), Sie können weitere Wege gesucht werden, für die dSYMs und source-codeÖffnen, Instrumente "Preferences", dann klicken Sie auf die "dSYMs Und Pfade" Registerkarte.
Dann fügen Sie Ihrem Pfad zu der Liste.
InformationsquelleAutor der Antwort Shepmaster
Hier ist meine Umwelt...
Ich hatte das gleiche problem mit in den simulator, und es fuhr mich verrückt, denn ALLE standard-go-Updates nicht in Betrieb waren.
Was hat es für mich war, das Stopfen mein iPad in das MacBook und das laufen eines instruments session gegen diese app auf meinem eingesteckt iPad. Instrumente richtig symbolicated meine app auf dem iPad, und fuhr dann Fort, zu arbeiten, wenn ich mich getrennt, das iPad und lief Instrumente, die später im simulator.
Ich vermute, es hatte etwas zu tun mit der Aktualisierung von mein Projekt, verwenden Sie die folgende...
Ich weiß nicht, warum das der Fall sein würde, aber das war die EINZIGE änderung, die ich gemacht hatte, bevor meine Symbole verloren sich im Instrumente.
InformationsquelleAutor der Antwort Logicsaurus Rex