System.Diagnostics 命名空間

提供類別,其允許與系統處理序、事件記錄檔和效能計數器互動。

類別

Activity

表示要用於記錄的內容作業。

ActivityListener

允許接聽開始與停止活動事件,並提供讓您決定針對取樣案例建立活動的機會。

ActivitySource

提供 API 來建立及啟動 Activity 物件,並註冊 ActivityListener 物件以接聽 Activity 事件。

ActivityTagsCollection

ActivityTagsCollection 是用來儲存追蹤標籤的一種集合類別。

此集合將搭配 ActivityEventActivityLink 等類別使用。

此集合的運作方式如下:

  • 集合項目將會根據其加入方式排序。
  • 不允許具有相同機碼的項目重複。
  • 使用索引子將專案儲存在集合中時:
    • 如果專案具有先前存在於集合中的索引鍵,且值為 null ,則會從集合中移除符合索引鍵的集合專案。
    • 如果專案具有先前存在於集合中的索引鍵,且值不是 null ,則新專案值會取代儲存在集合中的舊值。
    • 否則,項目將會加入集合。
  • Add 方法會將新的項目加入集合 (如果還未存在具有相同機碼的項目)。 否則,其將會擲回例外狀況。
BooleanSwitch

提供簡單的開啟/關閉參數,可控制偵錯和追蹤輸出。

ConditionalAttribute

表示編譯器應該忽略方法呼叫或屬性,除非已定義指定的條件式編譯符號。

ConsoleTraceListener

將追蹤或偵錯輸出直接導向到標準輸出或標準錯誤資料流。

CorrelationManager

讓屬於邏輯異動一部分的追蹤產生關聯。

CounterCreationData

為自訂計數器定義計數器的型別、名稱和說明字串。

CounterCreationDataCollection

提供 CounterCreationData 物件的強類型集合。

CounterSampleCalculator

提供解譯效能計數器資料的公用程式函式集。

DataReceivedEventArgs

提供 OutputDataReceivedErrorDataReceived 事件的資料。

Debug

提供一組方法和屬性,可協助偵錯程式碼。

DebuggableAttribute

修改執行階段 Just-In-Time (JIT) 偵錯的程式碼產生。 此類別無法獲得繼承。

Debugger

使用偵錯工具啟用通訊。 此類別無法獲得繼承。

DebuggerBrowsableAttribute

決定成員是否要顯示在偵錯工具變數視窗中,以及決定顯示方式。 此類別無法獲得繼承。

DebuggerDisplayAttribute

決定類別或欄位在偵錯工具變數視窗中顯示的方式。

DebuggerHiddenAttribute

指定 DebuggerHiddenAttribute。 此類別無法獲得繼承。

DebuggerNonUserCodeAttribute

識別不屬於應用程式之使用者程式碼的類型或成員。

DebuggerStepperBoundaryAttribute

指出屬性之後的程式碼是要在執行模式,而不是在步驟模式中執行。

DebuggerStepThroughAttribute

指示偵錯工具逐步執行程式碼,而不要進入程式碼。 此類別無法獲得繼承。

DebuggerTypeProxyAttribute

指定類型的顯示 Proxy。

DebuggerVisualizerAttribute

指定型別要具有視覺化檢視。 此類別無法獲得繼承。

DefaultTraceListener

提供追蹤的預設輸出方法和行為。

DelimitedListTraceListener

將追蹤或偵錯輸出導向文字寫入器,例如資料流寫入器,或導向資料流,例如檔案資料流。

DiagnosticListener

提供抽象的 DiagnosticSource 類別實作,表示來源傳送其資訊 (事件) 的具名位置。

DiagnosticListenerExtensions

提供類別,其允許與系統處理序、事件記錄檔和效能計數器互動。

DiagnosticsConfigurationHandler

處理組態檔的診斷區段。

DiagnosticSource

抽象類別,允許檢測程式碼,以取得檢測程序內所耗用豐富資料承載的生產時間記錄。

DistributedContextPropagator

的實作 DistributedContextPropagator 會決定在周遊網路時,分散式內容資訊的編碼和解碼方式。 編碼可透過支援字串索引鍵/值組的任何網路通訊協定進行傳輸。 例如,使用 HTTP 時,每個索引鍵/值組都是 HTTP 標頭。 DistributedContextPropagator 將值插入並擷取來自電信業者的值做為字串索引鍵/值組。

EntryWrittenEventArgs

提供 EntryWritten 事件的資料。

EventInstance

表示事件記錄檔項目的語言中立資訊。

EventLog

提供與 Windows 事件記錄檔的互動。

EventLogEntry

將單一記錄封裝於事件記錄檔中。 此類別無法獲得繼承。

EventLogEntryCollection

定義 EventLogEntry 執行個體集合的大小和列舉值。

EventLogInstaller

讓您安裝和設定可讓應用程式在執行時,進行讀取和寫入事件的記錄檔。

EventLogPermission

控制事件記錄的程式碼存取使用權限。

EventLogPermissionAttribute

允許事件記錄的宣告式使用權限檢查。

EventLogPermissionEntry

定義程式碼存取安全性權限的最小單位,是設定給 EventLog

EventLogPermissionEntryCollection

包含 EventLogPermissionEntry 物件的強類型集合。

EventLogTraceListener

提供簡單的接聽程式,將追蹤或偵錯輸出導向到 EventLog

EventSchemaTraceListener

將端對端事件的追蹤或偵錯輸出導向至 XML 編碼、符合結構描述的記錄檔。

EventSourceCreationData

表示用於在本機電腦或遠端電腦上建立事件記錄檔來源的組態設定。

EventTypeFilter

指出接聽程式是否應該根據事件型別進行追蹤。

FileVersionInfo

提供磁碟上實體檔案的版本資訊。

InitializingSwitchEventArgs

提供 Switch.Initializing 事件的資料。

InitializingTraceSourceEventArgs

提供 TraceSource.Initializing 事件的資料。

InstanceData

保存與效能計數器樣本相關的執行個體 (Instance) 資料。

InstanceDataCollection

提供 InstanceData 物件的強類型集合。

InstanceDataCollectionCollection

提供 InstanceDataCollection 物件的強類型集合。

MonitoringDescriptionAttribute

指定屬性或事件的描述。

PerformanceCounter

代表 Windows NT 效能計數器元件。

PerformanceCounterCategory

表示效能物件,定義效能計數器的分類。

PerformanceCounterInstaller

指定 PerformanceCounter 元件的安裝程式。

PerformanceCounterManager

為 performance.dll 準備系統在使用效能計數器時所要載入的效能資料。

PerformanceCounterPermission

允許控制 PerformanceCounter 的程式碼存取使用權限。

PerformanceCounterPermissionAttribute

允許宣告式效能計數器使用權限檢查。

PerformanceCounterPermissionEntry

定義設定給 PerformanceCounter 之程式碼存取安全性權限的最小單位。

PerformanceCounterPermissionEntryCollection

包含 PerformanceCounterPermissionEntry 物件的強類型集合。

PresentationTraceSources

提供特別以 Windows Presentation Foundation (WPF) 應用程式為目標的偵錯追蹤支援。

Process

提供對本機和遠端處理序的存取,並讓您能夠啟動和停止本機系統處理序。

ProcessModule

代表載入到特定程序的 .dll 或 .exe 檔案。

ProcessModuleCollection

提供 ProcessModule 物件的強類型集合。

ProcessStartInfo

指定一組啟動處理序時所使用的值。

ProcessThread

表示作業系統處理序 (Process) 執行緒。

ProcessThreadCollection

提供 ProcessThread 物件的強類型集合。

SourceFilter

指出接聽程式是否應該根據追蹤的來源,追蹤訊息。

SourceSwitch

提供多層切換控制追蹤與偵錯的輸出,而不需要重新編譯程式碼。

StackFrame

提供 StackFrame 的相關資訊,代表目前執行緒的呼叫堆疊上的函式呼叫。

StackFrameExtensions

提供 StackFrame 類別的擴充方法,代表目前執行緒呼叫堆疊上的函式呼叫。

StackTrace

表示堆疊追蹤,這是一個或多個堆疊框架的已排序集合。

StackTraceHiddenAttribute

使用 StackTraceHidden 來進行屬性化的類型和方法將會從 StackTrace.ToString() 和 Exception.StackTrace 中顯示的堆疊追蹤文字中省略

Stopwatch

提供一組方法和屬性,您可以使用這些方法和屬性,精確地測量已耗用時間。

Switch

提供抽象基底類別,建立新的偵錯與追蹤切換。

SwitchAttribute

識別用在組件、類別或成員中的參數。

SwitchLevelAttribute

識別參數的層級型別。

TextWriterTraceListener

將追蹤或偵錯輸出導至 TextWriterStream,例如 FileStream

Trace

提供一組可協助您追蹤程式碼執行的方法與屬性。 此類別無法獲得繼承。

TraceConfiguration

提供類別,其允許與系統處理序、事件記錄檔和效能計數器互動。

TraceEventCache

提供屬特定執行緒和處理序的追蹤事件資料。

TraceFilter

提供追蹤篩選器實作的基底類別。

TraceListener

為監視追蹤和偵錯輸出的接聽程式提供 abstract 基底類別。

TraceListenerCollection

提供 TraceListener 物件的安全執行緒清單。

TraceSource

提供一組方法和屬性,可以讓應用程式追蹤程式碼的執行情形,並讓追蹤訊息與其來源產生關聯。

TraceSwitch

提供多層切換控制追蹤與偵錯的輸出,而不需要重新編譯程式碼。

UnescapedXmlDiagnosticData

提供未逸出的 XML 資料,用於登錄使用者提供的追蹤資料。

UnreachableException

當系統將程式所執行的指令視為無法連線時,所擲回的例外狀況。

XmlWriterTraceListener

將追蹤或偵錯輸出做為 XML 編碼資料導向 TextWriterStream,例如做為 FileStream

結構

Activity.Enumerator<T>

列舉儲存在 物件上的 Activity 資料。

ActivityChangedEventArgs

提供 CurrentChanged 事件的資料。

ActivityContext

符合 W3C TraceContext 規格的表示法。 它包含兩個識別碼:TraceId 和 SpanId,以及一組常見的 TraceFlags 和系統特定的 TraceState 值。

ActivityCreationOptions<T>

封裝傳送至活動接聽程式的所有資訊,以制定建立活動執行個體與其狀態的相關決策。

可能的泛型類型參數為 ActivityContextString

ActivityEvent

代表包含名稱與時間戳記以及選用標籤清單的事件。

ActivityLink

活動可能會連結至因果相關的零或多個活動內容執行個體。

活動連結可以指向單一追蹤內或跨不同追蹤的活動內容。

活動連結可以用來代表批次作業,其中活動是由多個起始活動起始的,每個活動都代表批次中處理的單一傳入項目。

ActivitySpanId

代表以 W3C 標準作為格式基礎的 SpanId

ActivityTagsCollection.Enumerator

列舉 ActivityTagsCollection 的項目。

ActivityTraceId

代表以 W3C 標準作為格式基礎的 TraceId

CounterSample

定義為效能計數器保留未經處理資料 (Raw Data) 的結構。

Debug.AssertInterpolatedStringHandler

提供的 Assert(Boolean) 插入字串處理常式,只有在判斷提示失敗時,才會執行格式設定。

Debug.WriteIfInterpolatedStringHandler

提供 的 WriteIf(Boolean, String) 插補字串處理常式,只有在 WriteLineIf(Boolean, Object) 套用條件時才會執行格式設定。

TagList

表示可由索引存取的標籤清單。 提供搜尋、排序和管理清單的方法。

TagList.Enumerator

用於周遊標記清單集合的列舉值。

介面

ICollectData

準備系統在使用效能計數器時,所要載入之效能 DLL 的效能資料。

列舉

ActivityIdFormat

指定 Id 屬性的格式。

ActivityKind

描述活動、其父代與追蹤中其子系之間的關聯性。

ActivitySamplingResult

ActivityListener 所用的列舉值,其指出要針對相關 Activity 收集的資料量。 要求的資料越多,效能的負擔越大。

ActivityStatusCode

定義 Activity 的狀態碼,指出已檢測作業的狀態。

ActivityTraceFlags

指定由 W3C 標準定義,與活動建立關聯的旗標。

DebuggableAttribute.DebuggingModes

指定 Just-In-Time (JIT) 編譯器的偵錯模式。

DebuggerBrowsableState

提供偵錯工具的顯示指示。

EventLogEntryType

指定事件記錄檔項目的事件型別。

EventLogPermissionAccess

定義 EventLog 使用權限類別所使用的存取等級。

OverflowAction

代表事件記錄檔累積到最大檔案容量時,應如何處理記錄檔內的資料。

PerformanceCounterCategoryType

指出效能計數器分類是否可以具有多個執行個體。

PerformanceCounterInstanceLifetime

指定效能計數器執行個體的存留期。

PerformanceCounterPermissionAccess

定義 PerformanceCounter 使用權限類別所使用的存取等級。

PerformanceCounterType

指定直接對應到原生類型的效能計數器類型。

PresentationTraceLevel

描述要追蹤有關特定物件的詳細資訊層級。

ProcessPriorityClass

表示系統與處理序 (Process) 關聯的優先權。 這個值與處理序每個執行緒的優先權值會判斷每個執行緒的基礎優先權層級。

ProcessWindowStyle

指定系統啟動處理序 (Process) 時新視窗出現的方式。

SourceLevels

指定以來源參數和事件型別篩選器篩選的追蹤訊息層級。

ThreadPriorityLevel

指定執行緒的優先權層級。

ThreadState

指定執行緒的目前執行狀態。

ThreadWaitReason

指定執行緒正在等待的原因。

TraceEventType

識別引發追蹤的事件型別。

TraceLevel

指定要輸出 DebugTraceTraceSwitch 類別的哪些訊息。

TraceLogRetentionOption

指定用於 EventSchemaTraceListener 記錄的檔案結構。

TraceOptions

指定要寫入至追蹤輸出的追蹤資料選項。

委派

DataReceivedEventHandler

表示將處理 OutputDataReceivedErrorDataReceived 事件或 Process 事件的方法。

DistributedContextPropagator.PropagatorGetterCallback

表示在傳播器的擷取方法中使用的回呼方法。 系統會叫用回呼來查閱具名欄位的值。

DistributedContextPropagator.PropagatorSetterCallback

表示在傳播器插入方法中使用的回呼方法。 系統會叫用此回呼來設定具名欄位的值。 傳播程式可能會多次叫用它,以設定多個欄位。

EntryWrittenEventHandler

代表將處理 EventLogEntryWritten 事件之方法。

SampleActivity<T>

委派;可定義取樣程序中使用的 ActivityListener 回呼簽章。

備註

  • 元件 EventLog 提供寫入事件記錄檔、讀取事件記錄專案,以及建立和刪除網路上的事件記錄檔和事件來源的功能。 提供 EntryWrittenEventHandler 非同步與事件記錄互動的方式。 支援類別可讓您取得更詳細的控制,包括:權限限制、指定事件記錄檔類型的能力 (可控制以事件記錄檔項目寫入的預設資料類型),以及逐一查看事件記錄檔項目的集合。 如需這些工作的詳細資訊,請參閱 EventLogPermissionEventLogEntryTypeEventLogEntryCollection 類別。

  • 類別 Process 提供功能來監視網路上的系統進程,以及啟動和停止本機系統進程。 除了藉由指定電腦、進程名稱或進程識別碼 (來擷取執行中進程的清單,) 或檢視目前可存取處理器之進程的資訊,您可以透過 Process 類別本身取得進程執行緒和模組的詳細知識,以及與 ProcessThreadProcessModule 類別互動。 類別 ProcessStartInfo 可讓您指定要啟動新進程的各種專案,例如輸入、輸出和錯誤資料流程、工作目錄,以及命令列動詞和引數。 這些元素可讓您精確控制程序的行為。 其他相關類別則可讓您指定視窗樣式、程序和執行緒優先順序,並與執行緒和模組的集合互動。

  • 類別 PerformanceCounter 可讓您監視系統效能,而 PerformanceCounterCategory 類別提供方法來建立新的自訂計數器和類別。 您可以寫入到本機自訂計數器,並從本機和遠端計數器 (系統以及自訂) 進行讀取。 您可以使用 類別來 PerformanceCounter 取樣計數器,並使用 類別計算後續效能計數器樣本 CounterSample 的結果。 類別 CounterCreationData 可讓您在類別中建立多個計數器,並指定其類型。 與效能計數器元件相關聯的其他類別可讓您存取由計數器、計數器權限和計數器類型組成的集合。

System.Diagnostics命名空間也提供類別,可讓您對應用程式進行偵錯,並追蹤程式碼的執行。 如需詳細資訊,請參閱 TraceDebug 類別。