我開發的Qt的應用程序,用於調試的目的我寫很多消息的使用qDebug()
安慰,我的問題是確實的調試消息導致性能應用。我應該在部署應用程序時將其刪除嗎?Qt的我應該刪除調試信息的發佈版本(部署應用程序)
0
A
回答
1
做在Qt 5,我們有我們可以操縱的實際qInstallMessageHandler全局函數通過提供自己的回調函數來確定是否在運行時輸出日誌消息。 Qt 4中有相同的功能,稱爲qInstallMsgHandler。
安裝先前已經定義一個Qt消息處理程序。 返回指向前一個消息處理程序的指針。
消息處理程序是打印出調試消息, 報警,關鍵和致命錯誤消息的功能。 Qt庫(調試 模式)包含數百個警告信息的時 內部錯誤(通常無效函數參數)發生的被打印。 Qt的內置 發佈模式也包含這樣的警告,除非 QT_NO_WARNING_OUTPUT和/或QT_NO_DEBUG_OUTPUT已經在 編譯設置。如果您實現自己的消息處理程序,則可以對這些消息進行總計控制。
在某些應用程序中,發佈產品版本默認只允許qtWarningMsg及更高版本。
是的,記錄可能會影響應用程序的性能。有幾種減少負面影響的技術。最重要的是在一個單獨的線程上隔離日誌記錄輸出(生產應用程序版本主要使用文件並通過Internet發送它們),以便提供文件/其他操作。
1
當然它會有一些impact.It具有較好的去除在釋放模式的調試日誌記錄,可以通過宏觀QT_NO_DEBUG_OUTPUT
相關問題
- 1. 無法部署發佈版本的Xamarin.Android應用程序
- 2. 切換應用程序調試版本和MultiDexApplication發佈版本
- 3. 我應該在哪裏存儲我的ASP.NET應用程序的版本信息?
- 4. 應該刪除調試代碼時發佈(對於iOS應用程序)
- 5. 部署Qt應用程序
- 6. ASP.NET DLL發佈部署方法刪除整個已發佈的應用程序
- 7. BizTalk - 該應用程序既不刪除也不讓我部署
- 8. Android調試/發佈版本的應用程序
- 9. 調試部署的AIR應用程序
- 10. 是否發佈新版本的應用程序刪除舊版本的文件?
- 11. 在發佈模式下使用QtMultimedia部署Qt應用程序
- 12. iPhone應用程序中斷髮布版本不在調試
- 13. 發佈部署python web應用程序
- 14. 發佈windows應用程序 - ClickOnce部署
- 15. 發佈Angular 2應用程序(部署)
- 16. 部署Qt的ODBC應用程序
- 17. 調試已發佈的應用程序
- 18. 我們可以調試Adobe AIR應用程序的發佈版本嗎?
- 19. 我的應用程序的調試版本工作正常,但不是發佈版本簽名版本
- 20. 應該將Windows Phone應用程序作爲發佈版本還是調試版本上傳到市場?
- 21. Capistrano部署我的應用程序的錯誤版本
- 22. 嘗試在Windows上運行Qt應用程序的發佈版本時出錯
- 23. Qt調試版本和Qt發佈版本有什麼區別?
- 24. 我應該在哪裏部署我的應用程序?
- 25. 腳本我的iOS應用程序的發佈版本?
- 26. 爲什麼Android應用程序調試版本中刪除穿戴式版本
- 27. 發佈版本與調試版本相比增加了應用程序大小
- 28. 我應該如何將信用卡信息從我的iPhone應用程序發佈到Windows服務器?
- 29. 使用qt部署imagemagick應用程序
- 30. 部署ClickOnce應用程序和試用版本
可能的重複[爲什麼qDebug在Release版本中工作?](http://stackoverflow.com/questions/13494499/why-does-qdebug-work-in-release-builds) – demonplus