2009-02-25 10 views

Odpowiedz

41

Dzieje się tak, ponieważ projekt Xcode jest skonfigurowany do tworzenia symboli debugowania za pomocą zewnętrznego pliku dSYM. Jest to bardzo przydatne w przypadku wersji wydań, ponieważ oznacza to, że możesz usuwać symbole debugowania z aplikacji, a gdy użytkownik wyśle ​​ci crashdump, możesz użyć oryginalnego pliku dSYM, aby wygenerować odpowiedni stacktrace do debugowania.

W każdym razie, nie trzeba trzeba wyłączyć generowania symboli debugowania w projekcie. Zamiast tego wystarczy zmienić typ symbolu debugowania na DWARF (zamiast "DWARF z plikiem dSYM"). Możesz również użyć Stabs, ale to stary format.

Edytuj: Ah, widzę, że masz na myśli z wiersza poleceń, a nie z Xcode. Nie siedzę przed moim atm mac, ale widzę od gcc4 manpage niż można określić -gstabs, aby użyć formatu Stabs.

+0

Witam, jak zmienić symbol debugowania? Czy jest tam linia poleceń? – neversaint

+4

Interesujące dziwactwo: w systemie MacOS 10.6.2, jeśli do pliku "link" zostanie dołączony plik źródłowy, uruchamiany jest program dsymutil w celu wygenerowania informacji o rozszerzeniu .dSYM; jeśli łączysz tylko pliki obiektów i biblioteki, program dsymutil nie jest uruchamiany, więc informacje .dSYM nie są generowane. Możesz to sprawdzić za pomocą opcji "-v" do GCC, która pokazuje programy wykonywane przez 'gcc'. –

+0

Możesz także użyć opcji -ggdb, która, jak sądzę, umożliwia więcej funkcji niż pchnięć, jeśli planujesz debugowanie za pomocą gdb. – Quantum7

2

Zakładam, że używasz Xcode. Przejdź do opcji menu "Projekt"/"Edytuj ustawienia projektu", kliknij kartę "Buduj", w sekcji "GCC 4.0 - Generowanie kodu", odznacz Generuj symbole debugowania. Możesz wpisać "sym" w polu wyszukiwania, aby pomóc znaleźć.

Powiązane problemy