Cocoa應用程序的調試和發佈版本之間有什麼區別?我知道調試版包含用於調試的其他信息,但還有什麼不同?Xcode調試和發佈之間的區別
回答
我引用
「它們之間最大的區別在於: 在調試構建完整的符號調試信息被髮出,以幫助在調試應用程序,並在代碼優化不考慮 雖然英寸發佈構建符號調試信息不會被髮射並且代碼執行得到優化 另外,因爲符號信息不是在發佈版本中發佈的,所以最終可執行文件的大小比調試可執行文件的大小要小。
由於編譯器優化或者不同,期望在發佈版本中看到有趣的錯誤在內存佈局或初始化中進行。這些都是後容易被稱作發佈 - 只有錯誤:)
在執行速度方面,釋放可執行文件將執行肯定更快,但並不總是將這種不同是顯著「谷歌和用戶的
禮貌。 mcdeeiis http://haacked.com/archive/2004/02/14/difference-between-debug-vs-release-build.aspx
這是所有的編程語言
的發行版本更多更好的性能和更小的尺寸優化的一個非常堅實的解釋。
同樣來自個人實踐,我可以說,在發佈配置中打開更多警告以瞭解哪些方法未被使用,哪些方法沒有聲明哪些簽名/無符號被比較以及其他有用的東西是有用的。
爲什麼不在調試模式下打開這些警告? – 2011-03-11 08:35:51
由於他們比功能更迂腐 - 很高興爲我提供無警告代碼。 – Eimantas 2011-03-11 08:40:29
我更喜歡在* Release *模式下使用無警告代碼。它比調試模式更重要。如果我首先在調試模式下修復錯誤,那麼當我切換到發佈模式時,它們將會消失。更重要的是,這樣的「迂腐」問題表明代碼中存在設計缺陷 - 您需要在設計/調試時修復這些缺陷,而不是一旦準備好測試/發佈。 – 2011-03-11 08:42:57
- 1. 調試和發佈之間的區別
- 2. 調試和發佈文件夾之間的區別
- 3. msbuild發佈和包之間的區別
- 4. Xcode中調試器和目標輸出之間的區別
- 5. Xcode/Cocoa:調試和發佈版本有什麼區別?
- 6. xcode配置中的活動(調試)和調試之間的區別
- 7. .NET中「調試」和「發佈」版本之間的主要區別是什麼?
- 8. GUI調試器和終端調試器之間的區別
- 9. MySQL發佈版本之間的區別
- 10. 火與發佈之間的區別
- 11. C++動態發佈庫和調試庫之間有什麼區別?
- 12. 調試器類型之間的區別
- 13. 佈局之間的區別?
- 14. 測試StringBuilder和StringBuffer之間的區別
- 15. VS和/ target中的'Publish ...'之間的區別:MSBuild中的發佈?
- 16. 異步發佈請求和表單帖之間的區別
- 17. Eclipse:清潔,構建和發佈之間的區別
- 18. Gradle上傳和Gradle發佈之間的區別
- 19. ScriptManagers的ScriptMode中調試和發佈有什麼區別?
- 20. Qt:調試和發佈中moc輸出的區別?
- 21. 運行時和調試之間的區別
- 22. MATLAB調試器中「step」和「step in」之間的區別
- 23. VS2017 chrome(調試)和Google Chrome之間的前端設計區別
- 24. C#XNA Visual Studio:「釋放」和「調試」模式之間的區別?
- 25. 調試和簽名密鑰之間的區別
- 26. 之間的〜/和的區別../
- 27. 在調試器中查看調試和釋放之間的區別
- 28. '#','%'和'$'之間的區別
- 29. {!!之間的區別!!}和{{}}
- 30. '+ ='和'= +'之間的區別?
感謝Ross Alexander提供的鏈接,它解釋了一些象徵性的調試信息將在調試模式下生成,這是什麼意思,究竟在哪裏查看這些信息,如果是的話,這將有助於清除錯誤,如果是的話使用它來調試和清除錯誤,你能解釋一個實例嗎? – pradeepa 2011-03-11 08:48:53
符號調試信息:將二進制信息鏈接到源代碼的信息。如行號,變量名等。允許您參考源代碼調試代碼。在調試這個當然有幫助,但你已經使用這個信息沒有意識到:)我相信你可以在發佈模式以及在Xcode中的設置,但不要引用我的那個:P,因爲我不是在目前的Xcode – Candyfloss 2011-03-11 08:55:42
:)我可能不得不研究編譯器設計來理解這些東西,謝謝:) – pradeepa 2011-03-11 09:11:11