Dlaczego kompilowanie C++ na komputerze Mac zawsze tworzy katalogi * .dSYM? Czy można to wyłączyć?Katalogi dSYM podczas kompilowania kodu C++ w systemie MacOS
Odpowiedz
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.
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źć.
- 1. Błąd kompilacji cmath podczas kompilowania starego kodu C++ w VS2010
- 2. C# ciągi konkatenacji podczas kompilowania
- 3. Błędy łącznika podczas kompilowania prostego kodu pthread pod MingW
- 4. Kiedy używać Cygwin lub MinGW do kompilowania kodu C?
- 5. Nierozwiązane zewnętrzne podczas kompilowania testów jednostkowych dla Visual C++ 2012
- 6. Jak zachować strukturę katalogów podczas kompilowania kodu CoffeeScript?
- 7. Unikaj zbędnych ostrzeżeń podczas kompilowania kodu Qt z ccache/clang
- 8. Odtwarzanie dźwięku podczas kompilowania
- 9. Błąd ARC podczas kompilowania
- 10. Jak zainstalować zależności podczas krzyżowego kompilowania kodu haskell?
- 11. Znaczenie flagi -pthread podczas kompilowania
- 12. "MODULE już zdefiniowany" podczas kompilowania kodu źródłowego Androida 4.3
- 13. Błąd podczas kompilowania projektu
- 14. zabłąkane "\" w błędzie programu podczas kompilowania
- 15. Jak włączyć eksperymentalny standard "C++ 0X" podczas kompilowania plików .cpp w systemie Android-ndk (r7)?
- 16. Czy pliki dSYM są potrzebne podczas programowania?
- 17. błąd podczas kompilowania struktury opencv
- 18. Błąd montażowy podczas kompilowania pliku C pod Linuksem
- 19. jak tłumić „plik linkera nieużywany” podczas kompilowania
- 20. Jakie pliki są rzeczywiście uwzględniane podczas kompilowania
- 21. Nie można zainstalować lxml w systemie MacOS 10.8.4
- 22. Błąd pakietu na systemie MacOS 10.12 Sierra
- 23. Typ konfliktu błędów podczas kompilowania programu c przy użyciu gcc
- 24. Lista funkcji C/C++ (Analiza kodu w systemie Unix)
- 25. Problemy podczas kompilowania TCC na OS X
- 26. "__aeabi_ldivmod" undefined podczas kompilowania modułu jądra
- 27. Crashlytics dSYM error
- 28. Błąd łącznika podczas kompilowania przykładu boost.asio
- 29. Błąd podczas kompilowania osadzonego programu SpiderMonkey
- 30. Instalowanie kompilatorów C/C++ w systemie Android
Witam, jak zmienić symbol debugowania? Czy jest tam linia poleceń? – neversaint
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'. –
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