11
A
回答
15
兩者均使用[Conditional]
屬性進行條件編譯。
如果在構建中定義了TRACE
標誌,則調用Trace
類將導致寫入跟蹤輸出。默認情況下,TRACE
在調試和發佈模式下均已定義。如果標誌沒有定義,則不會發生任何事情。
如果定義了DEBUG
標誌,則調用Debug
類將導致輸出寫入調試流。默認情況下,DEBUG
僅在調試模式下定義。
另一個主要的區別是跟蹤很容易定製trace listeners並稍後決定您想要如何處理跟蹤輸出。它比調試輸出更靈活,通常更適合登錄生產應用程序。
2
區別在於發佈模式。
DEBUG符號未定義時,即在發佈模式下編譯時,Debug.Write不會編譯到代碼中。
但是,Trace.Write將在Debug模式和Release模式下編譯。
4
相關問題
- 1. 在「發佈模式」
- 2. StackoverflowException只在發佈模式?
- 3. System.Reflection.MissingRuntimeArtifactException - 在發佈模式下
- 4. Trace.WriteLine在ASP.NET天青
- 5. SerializationException僅在發佈模式下發生
- 6. 調試模式或發佈模式
- 7. ios對象在調試模式下發布但未在發佈模式下發布
- 8. 帶TextWriterTraceListener的Trace.WriteLine()最終會停止在已發佈的ASP.NET網站上工作
- 9. 發佈模式中的IoCResolveException
- 10. Console.WriteLine發佈模式編譯
- 11. IISExpress Trace.Writeline輸出帶有成功請求且無調試模式
- 12. 發佈在發佈模式下,出版與調試配置
- 13. 在C#中發佈/訂閱模式WCF
- 14. memcpy在發佈模式下的問題
- 15. 在發佈模式下調試符號
- 16. InflateException只是在發佈模式
- 17. 在發佈模式下捕獲NSLog
- 18. librsvg庫在發佈模式下崩潰
- 19. 在發佈模式下構建nuget包?
- 20. 在發佈模式下調試
- 21. 在發佈模式下的AggregateException
- 22. JAXB模式在哪裏發佈?
- 23. NLog在發佈模式下IIS7失敗
- 24. rapidJson:在發佈模式下崩潰
- 25. 動畫無法在發佈模式
- 26. 布爾值在調試模式下比在發佈模式下有所不同
- 27. 無需從調試模式切換到發佈模式即可迅速在發佈模式下創建項目
- 28. 在發佈模式/調試模式下雙精度的差異
- 29. 在調試模式和發佈模式下部署
- 30. OpenGL呈現在發佈模式,但不是調試模式
因此,如果跟蹤標誌是默認定義,是有辦法在發佈或調試模式下取消設置? – Carlo 2010-02-19 02:17:17
@Carlo:當然,它在項目屬性Build選項卡中。有兩個複選框,一個表示「定義DEBUG常量」,另一個表示「定義TRACE常量」。這些對應於'Debug'和'Trace'類以及它們相應的'Write'方法的行爲方式。 – Aaronaught 2010-02-19 02:36:32
太棒了!謝謝,很好的回答! – Carlo 2010-02-19 02:39:04