考慮到90%的時間,開發人員正在使用調試版本,爲什麼要部署發佈版本更可取?在生產中部署調試版本有什麼大不了
0
A
回答
1
大小,速度和內存使用。
你的用戶並不需要你使用的所有調試工具,所以剝離調試符號可以減少二進制大小和內存消耗(因此可以提高速度,因爲將程序組件加載到RAM中花費的時間更少) 。
當您的應用程序崩潰時,通常需要回溯和細節。你的用戶真的不會在意這一點。
0
部署調試版本沒有任何問題。人們通常不會這樣做,因爲非調試版本往往更有效率(即,斷言代碼被刪除,編譯器不會在目標代碼中插入跟蹤/調試器信息)。
0
利用Java 1.1的調試版本可能會慢得多,他們需要更多的磁盤空間(在那個時候,磁盤與120兆是巨大 - 儘量適應這樣的小型設備上的主目錄.. )。
今天,這兩個都不是問題了。 Java運行時忽略了調試符號,並且使用JIT,代碼在運行時進行了優化,因此編譯時優化不再那麼重要。
調試版本的一大優勢是生產中的代碼正是您測試的代碼。
0
這完全取決於構建配置,在進行「發佈」構建時可能會有編譯優化。還有其他的考慮因素,依賴於語言;例如,使用Visual C++編譯應用程序時,可以針對不允許重新分發的C RunTime(CRT)的調試版進行編譯。
0
我認爲這裏的關鍵是確定究竟是什麼使構建「調試構建」。主要是生產版本更加優化(內存使用率,性能等),並且已經採取更多的關注來構建它,以便於部署和維護。我遇到的一個主要問題是調試版本有很多不需要的日誌記錄,導致性能非常顯着。
除此之外,調試版本不應該被部署到生產環境中沒有真正的原因。
相關問題
- 1. Maven爲什麼在生產版本中使用測試資源?
- 2. 調試和生產版本的JavaScript
- 3. 在生產環境中部署定製的編譯版本
- 4. 部署測試,接受生產並帶有生產證書
- 5. jQuery UI圖標顯示在調試部署但不是版本
- 6. 什麼是「測試環境」中的測試過程,已經部署在生產環境中而沒有測試
- 7. 兩個版本的生產軌道部署中的寶石
- 8. 我在Django生產部署中缺少什麼?
- 9. Subversion版本'差異'有什麼大不了的?
- 10. Qt調試版本和Qt發佈版本有什麼區別?
- 11. Django生產部署
- 12. Node.js生產部署
- 13. IIS生產部署
- 14. 守護生產 - 在部署
- 15. mup部署 - 什麼都沒有發生
- 16. 爲什麼Xamarin的調試版本太大了,我該如何縮小尺寸?
- 17. 部署版本
- 18. deploy_env在Capistrano部署腳本中做了些什麼?
- 19. apache tomcat部署者和核心版本有什麼區別?
- 20. Tomcat在部署新版本時取消部署舊版本
- 21. 在與capistrano一起部署時在生產中調試rails應用程序
- 22. Google Play中的生產版本和測試版本
- 23. 在生產中使用Dokku部署NextJS
- 24. 在生產中的weblogic部署
- 25. Kafka和Zookeper部署在K8s生產中
- 26. 將大版本部署到Maven Central
- 27. 在生產中測試部署的方法?
- 28. 在生產環境中部署Grails。 (Hibernate嘗試更新架構)
- 29. 部署中{{STATIC_URL}}會發生什麼
- 30. 在VC++中調試後發生了什麼事情
只是一個錯字。我不是邪惡的。 – Blender