Jakie są różnice między kompilacjami debugowania i wydania dla aplikacji Cocoa? Wiem, że wersja debugowania zawiera dodatkowe informacje do debugowania, ale co jeszcze jest inne?Xcode/Cocoa: Jakie są różnice między kompilacjami debugowania i wydania?
Odpowiedz
Pliki do debugowania będą zawierały symbole debugowania, które mogą być używane przez debugger. Wersje wydania często nie zawierają symboli debugowania, więc jeśli otrzymasz zrzut awaryjny, otrzymasz tylko garść adresów szesnastkowych zamiast użytecznych nazw symboli.
Debug buduje nie są zestawiane z optymalizacją (-O0
z GCC), natomiast uwolnienie kompilacje są zestawiane z optymalizacją (zazwyczaj -O2
lub -O3
). Optymalizacja sprawia, że debugowanie jest o wiele trudniejsze. Jeśli spróbujesz debugować aplikację wydającą, debugger stanie się bardzo zagmatwany, ponieważ instrukcje montażu nie będą już zgodne z instrukcjami HLL, instrukcje zostaną zmienione, funkcje zostaną wstawione, pętle zostaną rozwinięte itd.
Wersje debugowania i wydania również zdefiniowano różne symbole preprocesorów, a niektóre kod są kompilowane warunkowo w oparciu o te (na przykład kontrole granic tablic, asercje itp.), chociaż jest to wysoce zależne od aplikacji. Typowym przykładem może być #define NDEBUG
dla trybu zwolnienia, który powoduje usunięcie twierdzeń.
W Tiger, kompilacje debugowania są "zero połączone". Jest to zoptymalizowane tylko dla ciebie i nie jest to kompletna kompilacja.
- 1. Różnice między aplikacjami do debugowania i wydawania
- 2. Jakie są różnice między PECL i PEAR?
- 3. Jakie są różnice między Haskell i PureScript?
- 4. Jakie są różnice między Conda i Anaconda
- 5. Jakie są różnice między @dynamic i @synthesize?
- 6. Jakie są różnice między LinFu.DynamicProxy i Castle.DynamicProxy?
- 7. Jakie są różnice między utf8_general_ci i utf8_unicode_ci?
- 8. Jakie są różnice między MPI a OpenMP?
- 9. Jakie są różnice między możliwościami obliczeniowymi CUDA?
- 10. Jakie są różnice między postem a stroną
- 11. Jakie są różnice między przerwą a wyjściem?
- 12. Jakie są różnice między typedef a używaniem?
- 13. Jakie są różnice między programem a aplikacją?
- 14. KDevelop z projektem CMake - jak zarządzać wersjami debugowania i wydania?
- 15. Jakie są podstawowe różnice funkcji/architektury między BEAM i JVM?
- 16. Jakie są różnice między zakresami leksykalnymi i statycznymi?
- 17. Jakie są główne różnice między Sinatrą i Ramaze?
- 18. Jakie są różnice między std :: move i unique_ptr :: reset?
- 19. Jakie są podstawowe różnice między zestawem i didSet?
- 20. Jakie są kluczowe różnice między Meteor, Ember.js i Backbone.js?
- 21. Jakie są niezgodne różnice między C (99) i C++ (11)?
- 22. Jakie są różnice między RedrawWindow i UpdateWindow w Win32?
- 23. Jakie są różnice między HasOne i References w nhibernate?
- 24. Jakie są różnice między Apache Spark i Apache Apex?
- 25. Jakie są różnice między & a &&, | i || w R?
- 26. Jakie są różnice między JSP, PHP, HTML5 i javascript?
- 27. Jakie są różnice między modelami pudełkowymi CSS i Latex?
- 28. Jakie są główne różnice między dialektami sql mysql i oracle?
- 29. jakie są różnice między r i rb w fopen
- 30. Jakie są różnice między prezenterem, modelem prezentacji, ViewModel i kontrolerem?