首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> 關於C語言

Effective C# 原則 36:善用 .NET 執行階段診斷 (上)

     編輯:關於C語言

為何需要執行階段診斷

問題常發生在無除錯工具的使用者機器上。.NET 提供 System.Diagnostics.Debug、Trace、EventLog 等類別,可在執行時或編譯時配置,輸出至檔案或除錯終端,並支援分級輸出。

Debug vs Trace

  • Debug:受 DEBUG 前置處理器符號控制,通常僅偵錯版本啟用。
  • Trace:受 TRACE 控制,VS.NET 專案預設偵錯與發行版本皆定義,適合正式環境診斷。

應用程式組態檔控制輸出

XML 組態檔(如 MyApp.exe.config)位於應用程式目錄,根節點為 <configuration>。可定義追蹤開關與接聽項。

追蹤開關與 WriteLineIf

bool _printDiagnostics = true;
Trace.WriteLineIf(_printDiagnostics, "Printing Diagnostics Today", "MySubSystem");

開關等級:Off(0)、Error(1)、Warning(2)、Info(3)、Verbose(4)。組態檔設定:

<system.diagnostics>
  <switches>
    <add name="MyAssembly" value="3" />
  </switches>
</system.diagnostics>

設定輸出目的地

預設 DefaultTraceListener 輸出至除錯器。正式環境可加入 TextWriterTraceListener 寫入檔案:

<system.diagnostics>
  <trace autoflush="true" indentsize="0">
    <listeners>
      <add name="MyListener" type="System.Diagnostics.TextWriterTraceListener" initializeData="MyListener.log" />
    </listeners>
  </trace>
</system.diagnostics>
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved