Quali sono le differenze tra le build di debug e release per un'applicazione Cocoa? So che la versione di debug contiene informazioni aggiuntive per il debug ma quale altro è diverso?Xcode/Cocoa: quali sono le differenze tra le build di debug e release?
risposta
I build di debug conterranno i simboli di debug che possono essere utilizzati da un debugger. Le build di rilascio spesso non contengono simboli di debug, quindi se ottieni un crash dump, tutto ciò che otterrai sono un mucchio di indirizzi esadecimali invece di nomi di simboli utili.
I build di debug non vengono compilati con l'ottimizzazione (-O0
con gcc), mentre i build di rilascio sono compilati con l'ottimizzazione (in genere -O2
o -O3
). L'ottimizzazione rende il debug molto, molto più difficile. Se si tenta di eseguire il debug di un'applicazione di rilascio, il debugger diventerà molto confuso, poiché le istruzioni di assembly non corrispondono più alle istruzioni HLL, le istruzioni vengono riordinate, le funzioni vengono sottolineate, i loop vengono srotolati, ecc.
Debug e release build anche definito diversi simboli di preprocessore, e alcuni codici sono compilati condizionatamente in base a quelli (ad esempio, controlli di limiti di array, asserzioni, ecc.), sebbene questo sia altamente dipendente dall'applicazione. Un tipico esempio potrebbe essere #define NDEBUG
per la modalità di rilascio, che causa la rimozione delle asserzioni.
In Tiger, i build di debug sono "collegati zero". Questo è ottimizzato solo per l'ambiente e non è una build completa.
- 1. Quali sono le differenze tra free, dealloc, release e autorelease?
- 2. Migliori pratiche e strumenti per il debug delle differenze tra le build di debug e release?
- 3. Quali sono le differenze tra $ {} e # {}?
- 4. Quali sono/sono le differenze tra MSBuild e TFSBuild
- 5. Quali sono le differenze tra le classi Helper e Utility?
- 6. Quali sono le differenze tra Chrome, Canary e Chromium?
- 7. quali sono le differenze tra std :: move e unique_ptr :: reset?
- 8. Quali sono le differenze tra OllyDbg e WinDbg?
- 9. Quali sono/sono le principali differenze tra Flink e Storm?
- 10. Quali sono le differenze tra le capacità di calcolo CUDA?
- 11. Quali sono le differenze tra `String` e` str` di Rust?
- 12. Quali sono le differenze di utilizzo tra size_t e off_t?
- 13. Quali sono le differenze tra slice e partizioni di RDD?
- 14. Quali sono le differenze tra & e &&, | e || in R?
- 15. Quali sono le differenze tra la riproduzione inizia e inizia?
- 16. Quali sono le differenze tra le query SQL?
- 17. Quali sono le differenze tra pausa e uscita?
- 18. Quali sono le differenze fondamentali tra ASP.net e PHP?
- 19. Quali sono le differenze tra struct_time e datetime?
- 20. Quali sono le differenze attuali tra jQuery e Prototype?
- 21. Quali sono le differenze tra didFinishLaunchingWithOption e viewDidLoad
- 22. Quali sono le differenze tra JSP, PHP, HTML5 e javascript?
- 23. Quali sono le differenze tra @dynamic e @synthesize?
- 24. Quali sono le differenze chiave tra Meteor, Ember.js e Backbone.js?
- 25. Quali sono le differenze tra ibm jdk e oracle jdk?
- 26. Quali sono le principali differenze tra "gc" e "gccgo"?
- 27. Quali sono le differenze tra osservabili e promesse in JavaScript?
- 28. Quali sono le differenze tra MVC, MVP e MVVM?
- 29. Quali sono le differenze tra mappatura, associazione e analisi?
- 30. Quali sono le differenze tra NSURLConnection e ASI-HTTP-Request?