Perché la compilazione di C++ in Mac crea sempre directory * .dSYM? C'è un modo per disabilitarlo?Directory dSYM durante la compilazione del codice C++ in MacOS
risposta
È perché il progetto Xcode è impostato per creare simboli di debug con un file dSYM esterno. Questo è in realtà molto utile per le build di rilascio, poiché significa che è possibile rimuovere i simboli di debug dall'app e quando un utente invia un crashdump all'utente, è possibile utilizzare il file dSYM originale per generare uno stacktrace appropriato per il debug.
In ogni caso, è necessario disattivare la generazione del simbolo di debug nel progetto. Invece, basta cambiare il tipo di simbolo di debug in DWARF (invece di "DWARF con file dSYM"). Puoi anche usare Stabs, ma questo è il vecchio formato.
Modifica: Ah, vedo che intendevi dalla riga di comando, non da Xcode. Non sono seduto di fronte al mio mac atm, ma vedo dallo gcc4 manpage di quanto sia possibile specificare -gstabs per usare il formato Stabs.
Presumo che usi Xcode. Vai alla voce di menu "Progetto"/"Modifica impostazioni progetto", fai clic sulla scheda di creazione, nella sezione "GCC 4.0 - Generazione del codice", deseleziona Crea simboli di debug. Puoi digitare "sym" nel campo di ricerca per aiutarti a trovarlo.
- 1. durante la compilazione del vecchio codice C++ in VS2010
- 2. Aggiornamento CFBundleShortVersionString in dSYM alla compilazione?
- 3. Generazione del codice T4 durante la compilazione, riferimento all'assembly personalizzato
- 4. C++ errori durante la compilazione
- 5. Errore durante la compilazione di un semplice codice C++
- 6. Come utilizzare i riferimenti durante la compilazione del codice C# tramite la riga di comando
- 7. Importanza del flag -pthread durante la compilazione
- 8. Compilazione dinamica del codice utilizzando C#
- 9. C# stringhe di concatenazione durante la compilazione
- 10. Creazione dell'attività SBT per copiare le directory durante la compilazione?
- 11. Raccolta dati obsoleti durante la compilazione in C
- 12. Errori durante la compilazione incrociata C++/Objective-C++
- 13. getopt.h: Compilazione del codice C Linux in Windows
- 14. Cambia la directory di output del codice generato nel gradle
- 15. Qual è il processo eseguito durante la compilazione Objective-C
- 16. Ottenere errori durante la compilazione?
- 17. I file dSYM sono necessari durante lo sviluppo?
- 18. Errore ARC durante la compilazione
- 19. Errore MSBuild durante la compilazione del sito Web ASP.NET
- 20. Problemi durante la compilazione dell'obiettivo C con Clang (Ubuntu)
- 21. durante la compilazione di boost in Android
- 22. SQLiteException: near "": errore di sintassi (codice 1) durante la compilazione
- 23. Errori del linker durante la compilazione contro glib ...?
- 24. Durante la compilazione del codice x64, qual è la differenza tra "x86_amd64" e "amd64"?
- 25. errore di primavera durante la compilazione
- 26. durante la compilazione Outlook 2010 add-in
- 27. C++: Ottenere il codice di errore c3859 durante la compilazione in un mix di C++/CLI e C++
- 28. Perché l'iniezione del codice post-compilazione è un'idea migliore dell'iniezione del codice pre-compilazione?
- 29. Automatizza xsd.exe durante la compilazione
- 30. Errore del linker durante la compilazione dell'esempio boost.asio
ciao, come si cambia il simbolo di debug? C'è una riga di comando per questo? – neversaint
stranezza interessante: su MacOS 10.6.2, se si include un file sorgente nella riga 'link', viene eseguito il programma dsymutil per generare le informazioni .dSYM; se si collegano solo file e librerie di oggetti, il programma dsymutil non viene eseguito in modo che le informazioni .dSYM non vengano generate. Puoi convalidarlo con l'opzione '-v' su GCC che mostra i programmi eseguiti da 'gcc'. –
Puoi anche usare -ggdb, che penso abilita più funzionalità di pugnalate se prevedi di eseguire il debug con gdb. – Quantum7