System.Diagnostics 命名空间 
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
提供可用于与系统进程、事件日志和性能计数器交互的类。
类
| Activity | 表示具有要用于日志记录的上下文的操作。 | 
| ActivityListener | 允许侦听启动和停止活动事件,并有机会决定为采样方案创建活动。 | 
| ActivitySource | 提供用于创建和启动 Activity 对象的 API,以及注册 ActivityListener 对象以侦听 Activity 事件。 | 
| ActivitySourceOptions | 提供可用于与系统进程、事件日志和性能计数器交互的类。 | 
| ActivityTagsCollection | ActivityTagsCollection 是用于存储跟踪标记的集合类。 此集合将用于类,如 ActivityEvent 和 ActivityLink。 此集合的行为如下: 
 | 
| BooleanSwitch | 提供一个简单的开/关开关,用于控制调试和跟踪输出。 | 
| ConditionalAttribute | 向编译器指示,除非定义了指定的条件编译符号,否则应忽略方法调用或属性。 | 
| ConsoleTraceListener | 将跟踪或调试输出定向到标准输出或标准错误流。 | 
| CorrelationManager | 关联属于逻辑事务的一部分的跟踪。 | 
| CounterCreationData | 定义自定义计数器的计数器类型、名称和帮助字符串。 | 
| CounterCreationDataCollection | 提供 CounterCreationData 对象的强类型集合。 | 
| CounterSampleCalculator | 提供一组用于解释性能计数器数据的实用工具函数。 | 
| DataReceivedEventArgs | 为 OutputDataReceived 和 ErrorDataReceived 事件提供数据。 | 
| Debug | 提供一组有助于调试代码的方法和属性。 | 
| DebuggableAttribute | 修改运行时实时调试的代码生成(JIT)。 无法继承此类。 | 
| Debugger | 启用与调试器的通信。 无法继承此类。 | 
| DebuggerBrowsableAttribute | 确定是否以及如何在调试器变量窗口中显示成员。 无法继承此类。 | 
| DebuggerDisableUserUnhandledExceptionsAttribute | 如果附加支持 BreakForUserUnhandledException(Exception) API 的 .NET 调试器,则除非调用 BreakForUserUnhandledException(Exception),否则当使用此属性的方法捕获异常时,调试器不会中断用户未经处理的异常。 | 
| DebuggerDisplayAttribute | 确定类或字段在调试器变量窗口中的显示方式。 | 
| DebuggerHiddenAttribute | 指定 DebuggerHiddenAttribute。 无法继承此类。 | 
| DebuggerNonUserCodeAttribute | 标识不属于应用程序用户代码的类型或成员。 | 
| DebuggerStepperBoundaryAttribute | 指示属性后面的代码将在运行(而不是步骤、模式)中执行。 | 
| DebuggerStepThroughAttribute | 指示调试器逐步执行代码,而不是单步执行代码。 无法继承此类。 | 
| DebuggerTypeProxyAttribute | 指定类型的显示代理。 | 
| DebuggerVisualizerAttribute | 指定类型具有可视化工具。 无法继承此类。 | 
| DefaultTraceListener | 提供用于跟踪的默认输出方法和行为。 | 
| DelimitedListTraceListener | 将跟踪或调试输出定向到文本编写器(如流编写器)或流(如文件流)。 | 
| DiagnosticListener | 提供抽象 DiagnosticSource 类的实现,该类表示源向其发送其信息(事件)的命名位置。 | 
| DiagnosticListenerExtensions | 提供可用于与系统进程、事件日志和性能计数器交互的类。 | 
| DiagnosticMethodInfo | 表示有关方法的诊断信息。 此类提供的信息类似于信息 由 MethodBase 提供,但用于日志记录和跟踪目的。 | 
| 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的信息,该 StackFrame表示当前线程的调用堆栈上的函数调用。 | 
| StackFrameExtensions | 为 StackFrame 类提供扩展方法,该类表示当前线程的调用堆栈上的函数调用。 | 
| StackTrace | 表示堆栈跟踪,它是一个或多个堆栈帧的有序集合。 | 
| StackTraceHiddenAttribute | 使用 StackTraceHidden 特性化的类型和方法将从 StackTrace.ToString() 和 Exception.StackTrace 中显示的堆栈跟踪文本中省略 | 
| Stopwatch | 提供一组可用于准确测量已用时间的方法和属性。 | 
| Switch | 提供用于创建新的调试和跟踪开关的抽象基类。 | 
| SwitchAttribute | 标识程序集、类或成员中使用的开关。 | 
| SwitchLevelAttribute | 标识开关的级别类型。 | 
| TextWriterTraceListener | 将跟踪或调试输出定向到 TextWriter 或 Stream,例如 FileStream。 | 
| Trace | 提供一组方法和属性,可帮助你跟踪代码的执行。 无法继承此类。 | 
| TraceConfiguration | 提供可用于与系统进程、事件日志和性能计数器交互的类。 | 
| TraceEventCache | 提供特定于线程和进程的跟踪事件数据。 | 
| TraceFilter | 提供跟踪筛选器实现的基类。 | 
| TraceListener | 为监视跟踪和调试输出的侦听器提供  | 
| TraceListenerCollection | 提供 TraceListener 对象的线程安全列表。 | 
| TraceSource | 提供一组方法和属性,使应用程序能够跟踪代码的执行并将跟踪消息与其源相关联。 | 
| TraceSwitch | 提供多级开关,用于控制跟踪和调试输出,而无需重新编译代码。 | 
| UnescapedXmlDiagnosticData | 为用户提供的跟踪数据的日志记录提供未转义的 XML 数据。 | 
| UnreachableException | 当程序执行被认为无法访问的指令时引发的异常。 | 
| XmlWriterTraceListener | 将跟踪或调试输出作为 XML 编码的数据定向到 TextWriter 或 Stream,例如 FileStream。 | 
结构
| Activity.Enumerator<T> | 枚举存储在 Activity 对象上的数据。 | 
| ActivityChangedEventArgs | 提供 CurrentChanged 事件的数据。 | 
| ActivityContext | 符合 W3C TraceContext 规范的表示形式。 它包含两个标识符:TraceId 和 SpanId,以及一组常见的 TraceFlags 和特定于系统的 TraceState 值。 | 
| ActivityCreationOptions<T> | 封装发送到活动侦听器的所有信息,以决定创建活动实例及其状态。 可能的泛型类型参数是 ActivityContext 或 String。 | 
| ActivityEvent | 表示包含名称和时间戳的事件,以及标记的可选列表。 | 
| ActivityLink | 活动可以链接到因果相关的零个或多个活动上下文实例。 活动链接可以指向单个跟踪或跨不同跟踪的活动上下文。 活动链接可用于表示由多个发起活动启动的活动(每个操作表示批处理中正在处理的单个传入项)的批处理操作。 | 
| ActivitySpanId | 表示基于 W3C 标准格式化的 SpanId。 | 
| ActivityTagsCollection.Enumerator | 枚举  | 
| ActivityTraceId | 表示其格式基于 W3C 标准的 TraceId。 | 
| CounterSample | 定义一个结构,用于保存性能计数器的原始数据。 | 
| Debug.AssertInterpolatedStringHandler | 为 Assert(Boolean) 提供一个内插字符串处理程序,该处理程序仅在断言失败时执行格式设置。 | 
| Debug.WriteIfInterpolatedStringHandler | 为 WriteIf(Boolean, String) 和 WriteLineIf(Boolean, Object) 提供一个内插字符串处理程序,该处理程序仅在条件适用时执行格式设置。 | 
| TagList | 表示可由索引访问的标记列表。 提供用于搜索、排序和操作列表的方法。 | 
| TagList.Enumerator | 用于遍历标记列表集合的枚举器。 | 
接口
| ICollectData | 为系统在使用性能计数器时加载的性能 DLL 准备性能数据。 | 
枚举
委托
| DataReceivedEventHandler | 表示将处理 Process的 OutputDataReceived 事件或 ErrorDataReceived 事件的方法。 | 
| DistributedContextPropagator.PropagatorGetterCallback | 表示在传播器的提取方法中使用的回调方法。 调用回调以查找命名字段的值。 | 
| DistributedContextPropagator.PropagatorSetterCallback | 表示在传播器注入方法中使用的回调方法。 调用此回调以设置命名字段的值。 传播器可以多次调用它,以便设置多个字段。 | 
| EntryWrittenEventHandler | 表示将处理 EventLog的 EntryWritten 事件的方法。 | 
| ExceptionRecorder | 提供可用于与系统进程、事件日志和性能计数器交互的类。 | 
| SampleActivity<T> | 定义采样过程中使用的 ActivityListener 回调签名的委托。 | 
注解
- EventLog 组件提供写入事件日志、读取事件日志条目以及创建和删除网络上事件日志和事件源的功能。 EntryWrittenEventHandler 提供了异步与事件日志进行交互的方法。 支持类提供对更详细控制的访问权限,包括:权限限制、指定事件日志类型(控制使用事件日志条目写入的默认数据类型),以及循环访问事件日志条目集合。 有关这些任务的详细信息,请参阅 EventLogPermission、EventLogEntryType和 EventLogEntryCollection 类。 
- Process 类提供的功能用于监视整个网络的系统进程,以及启动和停止本地系统进程。 除了检索正在运行的进程列表(通过指定计算机、进程名称或进程 ID),或者查看当前有权访问处理器的进程的信息,还可以通过 Process 类本身获取进程线程和模块的详细信息,以及通过与 ProcessThread 和 ProcessModule 类进行交互。 使用 ProcessStartInfo 类,可以指定用于启动新进程的各种元素,例如输入、输出和错误流、工作目录以及命令行谓词和参数。 这些选项可让你对进程的行为进行精细控制。 其他相关类允许你指定窗口样式、进程和线程优先级,并与线程和模块的集合进行交互。 
- 使用 PerformanceCounter 类可以监视系统性能,而 PerformanceCounterCategory 类提供了一种创建新的自定义计数器和类别的方法。 可以写入本地自定义计数器,并从本地和远程计数器(系统以及自定义)读取。 可以使用 PerformanceCounter 类对计数器进行采样,并使用 CounterSample 类计算连续性能计数器样本的结果。 使用 CounterCreationData 类,可以在类别中创建多个计数器并指定其类型。 与性能计数器组件关联的其他类提供对计数器集合、计数器权限和计数器类型的访问。 
System.Diagnostics 命名空间还提供类,可用于调试应用程序并跟踪代码的执行。 有关详细信息,请参阅 Trace 和 Debug 类。