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

修改运行时实时 (JIT) 调试的代码生成。 此类不能被继承。

Debugger

启用与调试器的通讯。 此类不能被继承。

DebuggerBrowsableAttribute

确定成员是否会显示在调试器变量窗口中以及其显示方式。 此类不能被继承。

DebuggerDisplayAttribute

确定类或字段在调试器变量窗口中的显示方式。

DebuggerHiddenAttribute

指定 DebuggerHiddenAttribute。 此类不能被继承。

DebuggerNonUserCodeAttribute

标识不属于应用程序用户代码一部分的类型或成员。

DebuggerStepperBoundaryAttribute

指示特性后面的代码将以运行模式而非单步执行模式执行。

DebuggerStepThroughAttribute

指示调试器逐句通过代码,而不是单步执行代码。 此类不能被继承。

DebuggerTypeProxyAttribute

指定类型的显示代理。

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

保存与性能计数器样本关联的实例数据。

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

表示操作系统进程线程。

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

表示 SpanId,其格式基于 W3C 标准。

ActivityTagsCollection.Enumerator

枚举 ActivityTagsCollection 的元素。

ActivityTraceId

表示 TraceId,其格式基于 W3C 标准。

CounterSample

定义存放性能计数器的原始数据的结构。

Debug.AssertInterpolatedStringHandler

为 提供一个内插字符串处理程序,该处理程序 Assert(Boolean) 仅在断言失败时执行格式设置。

Debug.WriteIfInterpolatedStringHandler

WriteIf(Boolean, String)WriteLineIf(Boolean, Object) 提供一个内插字符串处理程序,该处理程序仅在条件适用时执行格式设置。

TagList

表示可通过索引访问的标记列表。 提供用于对列表进行搜索、排序和操作的方法。

TagList.Enumerator

用于遍历标记列表集合的枚举器。

接口

ICollectData

为系统使用性能计数器时加载的性能 DLL 准备性能数据。

枚举

ActivityIdFormat

指定 Id 属性的格式。

ActivityKind

描述跟踪中的活动、其父活动和子活动之间的关系。

ActivitySamplingResult

ActivityListener 使用的枚举值指示要为相关 Activity 收集的数据量。 请求更多数据会导致更大的性能开销。

ActivityStatusCode

定义指示已检测操作状态的活动的状态代码。

ActivityTraceFlags

指定由 W3C 标准定义的与活动关联的标志。

DebuggableAttribute.DebuggingModes

指定实时 (JIT) 编译器的调试模式。

DebuggerBrowsableState

提供有关调试器的显示说明。

EventLogEntryType

指定事件日志项的事件类型。

EventLogPermissionAccess

定义 EventLog 权限类使用的访问级别。

OverflowAction

指定如何处理已达到最大文件大小的事件日志中的项。

PerformanceCounterCategoryType

指示性能计数器类别是否可以有多个实例。

PerformanceCounterInstanceLifetime

指定性能计数器实例的生存期。

PerformanceCounterPermissionAccess

定义 PerformanceCounter 权限类使用的访问级别。

PerformanceCounterType

指定直接映射到本机类型的性能计数器类型。

PresentationTraceLevel

说明对特定对象进行跟踪的详细等级。

ProcessPriorityClass

指示系统将与进程关联的优先级。 此值与进程的每个线程的优先级值一起来确定每个线程的基本优先级别。

ProcessWindowStyle

指定在系统启动进程时新窗口应如何显示。

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 提供监视网络中的系统进程以及启动和停止本地系统进程的功能。 除了通过指定计算机、进程名称或进程 ID) 或查看当前有权访问处理器的进程的相关信息来检索 (正在运行的进程的列表外,还可以通过 Process 类本身以及与 和 类交互 ProcessThread 来获取进程线程和 ProcessModule 模块的详细信息。 类 ProcessStartInfo 使你能够指定用于启动新进程的各种元素,例如输入、输出和错误流、工作目录以及命令行谓词和参数。 这些使你可以精细地控制进程的行为。 其他相关类使你可以指定窗口样式、进程和线程优先级,并与线程和模块的集合进行交互。

  • PerformanceCounter 使你能够监视系统性能,而 PerformanceCounterCategory 类提供了一种创建新的自定义计数器和类别的方法。 可以写入本地自定义计数器,并从本地和远程计数器(系统以及自定义)进行读取。 可以使用 类对计数器进行 PerformanceCounter 采样,并使用 类计算连续性能计数器样本 CounterSample 的结果。 类 CounterCreationData 使你能够在一个类别中创建多个计数器并指定其类型。 与性能计数器组件关联的其他类提供对计数器、计数器权限和计数器类型的集合的访问权限。

命名空间 System.Diagnostics 还提供类,使你能够调试应用程序并跟踪代码的执行。 有关更多信息,请参见 TraceDebug 类。