2009-02-25 5 views

Antwort

41

Dies liegt daran, dass Ihr Xcode-Projekt eingerichtet ist, Debug-Symbole mit einer externen dSYM-Datei zu erstellen. Dies ist für Release-Builds sehr praktisch, da Debugsymbole aus Ihrer App entfernt werden können. Wenn ein Benutzer einen Crashdump an Sie sendet, können Sie die ursprüngliche dSYM-Datei verwenden, um ein korrektes Stacktrace für das Debuggen zu generieren.

Wie auch immer, Sie nicht müssen Debug-Symbol Generation in Ihrem Projekt deaktivieren. Ändern Sie stattdessen den Debug-Symboltyp in DWARF (anstelle von "DWARF mit dSYM-Datei"). Sie können auch Stabs verwenden, aber das ist das alte Format.

Bearbeiten: Ah, ich sehe Sie von der Befehlszeile gemeint, nicht von Xcode. Ich sitze nicht vor meinem Mac atm, aber ich sehe von der gcc4 manpage als Sie -gstabs angeben können, um das Stabs-Format zu verwenden.

+0

hi, wie änderst du das Debug-Symbol? Gibt es eine Befehlszeile dafür? – neversaint

+4

Interessante Marotte: Unter MacOS 10.6.2 wird das Programm dsymutil ausgeführt, wenn Sie eine Quelldatei in die Zeile 'link' einfügen, um die .dSYM-Informationen zu generieren. Wenn Sie nur Objektdateien und Bibliotheken verknüpfen, wird das Programm dsymutil nicht ausgeführt, sodass die .dSYM-Informationen nicht generiert werden. Sie können dies mit der Option '-v' für GCC bestätigen, die die von 'gcc' ausgeführten Programme anzeigt. –

+0

Sie können auch -ggdb verwenden, was meiner Meinung nach mehr Funktionen als Stichproben ermöglicht, wenn Sie mit gdb debuggen möchten. – Quantum7

2

Ich nehme an, Sie verwenden Xcode. Gehen Sie zu "Project"/"Edit Project Settings" Menüpunkt, klicken Sie auf Build-Tab, deaktivieren Sie unter "GCC 4.0 - Codegenerierung" die Option Debug-Symbole generieren. Sie können "sym" in das Suchfeld eingeben, um es zu finden.