2012-10-20 133 views
17

我正試圖在我們的一個應用程序中編寫更好的錯誤處理和調試邏輯。有人可以解釋Debug和Trace類之間的區別嗎?文檔看起來很相似。我想與NLog一起使用這些類來改進我們的調試工作。Debug類和Trace類有什麼區別?

+1

關於此問題的另一個對話http://stackoverflow.com/questions/179868/trace-vs-debug-in-net-bcl –

回答

3

在調試期間使用調試。跟蹤正在寫入日誌文件。這有點像伐木。兩者都非常相似,但要追蹤長期保留,調試以進行實時調試。

16

DebugTrace類有非常相似的方法。主要區別在於對Debug類的調用通常僅包含在Debug build中,並且Trace包含在所有版本(Debug和Release)中。你可以通過編譯器標誌DEBUG和TRACE來控制它。如果您查看兩者的文檔,您會注意到註釋方法的ConditionalAttribute。這會導致方法調用僅在定義適當的編譯器標誌時纔會包含在二進制文件中。您可以定義自己的編譯器標誌,並以類似的方式將它與ConditionalAttribute一起使用。請注意,如果您使用此方法,則不會從編譯的二進制文件中刪除這些方法。呼叫站點被修改以刪除方法調用。

相關問題