System.Diagnostics Namespace

The System.Diagnostics namespace provides classes that allow you to interact with system processes, event logs, and performance counters.

Remarks

The System.Diagnostics namespace also provides classes that allow you to debug your application and to trace the execution of your code. For more information, see the System.Diagnostics.Trace and System.Diagnostics.Debug classes.

Classes

TypeReason
BooleanSwitch

Provides a simple on/off switch that controls debugging and tracing output.

ConditionalAttribute

Indicates to compilers that a method call or attribute should be ignored unless a specified conditional compilation symbol is defined.

ConsoleTraceListener

Directs tracing or debugging output to either the standard output or the standard error stream.

CorrelationManager

Correlates traces that are part of a logical transaction.

CounterCreationData

Defines the counter type, name, and Help string for a custom counter.

CounterCreationDataCollection

Provides a strongly typed collection of System.Diagnostics.CounterCreationData objects.

CounterSample

Defines a structure that holds the raw data for a performance counter.

CounterSampleCalculator

Provides a set of utility functions for interpreting performance counter data.

DataReceivedEventArgs

Provides data for the System.Diagnostics.Process.OutputDataReceived and System.Diagnostics.Process.ErrorDataReceived events.

DataReceivedEventHandler

Represents the method that will handle the System.Diagnostics.Process.OutputDataReceived event or System.Diagnostics.Process.ErrorDataReceived event of a System.Diagnostics.Process.

Debug

Provides a set of methods and properties that help debug your code. This class cannot be inherited.

DebuggableAttribute

Modifies code generation for runtime just-in-time (JIT) debugging. This class cannot be inherited.

DebuggableAttribute+DebuggingModesDocumentation for this section has not yet been entered.
Debugger

Enables communication with a debugger. This class cannot be inherited.

DebuggerBrowsableAttribute

Determines if and how a member is displayed in the debugger variable windows. This class cannot be inherited.

DebuggerBrowsableState

Provides display instructions for the debugger.

DebuggerDisplayAttribute

Determines how a class or field is displayed in the debugger variable windows.

DebuggerHiddenAttribute

Specifies the System.Diagnostics.DebuggerHiddenAttribute. This class cannot be inherited.

DebuggerNonUserCodeAttribute

Identifies a type or member that is not part of the user code for an application.

DebuggerStepperBoundaryAttribute

Indicates the code following the attribute is to be executed in run, not step, mode.

DebuggerStepThroughAttribute

Instructs the debugger to step through the code instead of stepping into the code. This class cannot be inherited.

DebuggerTypeProxyAttribute

Specifies the display proxy for a type.

DebuggerVisualizerAttribute

Specifies that the type has a visualizer. This class cannot be inherited.

DefaultTraceListener

Provides the default output methods and behavior for tracing.

DelimitedListTraceListener

Directs tracing or debugging output to a text writer, such as a stream writer, or to a stream, such as a file stream.

DiagnosticsConfigurationHandler

Handles the diagnostics section of configuration files.

EntryWrittenEventArgs

Provides data for the System.Diagnostics.EventLog.EntryWritten event.

EntryWrittenEventHandler

Represents the method that will handle the System.Diagnostics.EventLog.EntryWritten event of an System.Diagnostics.EventLog.

EventInstance

Represents language-neutral information for an event log entry.

EventLog

Provides interaction with Windows event logs.

EventLogEntry

Encapsulates a single record in the event log. This class cannot be inherited.

EventLogEntryCollection

Defines size and enumerators for a collection of System.Diagnostics.EventLogEntry instances.

EventLogEntryType

Specifies the event type of an event log entry.

EventLogInstaller

Allows you to install and configure an event log that your application reads from or writes to when running.

EventLogPermission

Controls code access permissions for event logging.

EventLogPermissionAccess

Defines access levels used by System.Diagnostics.EventLog permission classes.

EventLogPermissionAttribute

Allows declaritive permission checks for event logging.

EventLogPermissionEntry

Defines the smallest unit of a code access security permission that is set for an System.Diagnostics.EventLog.

EventLogPermissionEntryCollection

Contains a strongly typed collection of System.Diagnostics.EventLogPermissionEntry objects.

EventLogTraceListener

Provides a simple listener that directs tracing or debugging output to an System.Diagnostics.EventLog.

EventSourceCreationData

Represents the configuration settings used to create an event log source on the local computer or a remote computer.

EventTypeFilter

Indicates whether a listener should trace based on the event type.

FileVersionInfo

Provides version information for a physical file on disk.

ICollectData

Prepares performance data for the performance DLL the system loads when working with performance counters.

InstanceData

Holds instance data associated with a performance counter sample.

InstanceDataCollection

Provides a strongly typed collection of System.Diagnostics.InstanceData objects.

InstanceDataCollectionCollection

Provides a strongly typed collection of System.Diagnostics.InstanceDataCollection objects.

MonitoringDescriptionAttribute

Specifies a description for a property or event.

OverflowAction

Specifies how to handle entries in an event log that has reached its maximum file size.

PerformanceCounter

Represents a Windows NT performance counter component.

PerformanceCounterCategory

Represents a performance object, which defines a category of performance counters.

PerformanceCounterCategoryType

Indicates whether the performance counter category can have multiple instances.

PerformanceCounterInstaller

Specifies an installer for the System.Diagnostics.PerformanceCounter component.

PerformanceCounterInstanceLifetime

Specifies the lifetime of a performance counter instance.

PerformanceCounterManager

Prepares performance data for the performance.dll the system loads when working with performance counters.

PerformanceCounterPermission

Allows control of code access permissions for System.Diagnostics.PerformanceCounter.

PerformanceCounterPermissionAccess

Defines access levels used by System.Diagnostics.PerformanceCounter permission classes.

PerformanceCounterPermissionAttribute

Allows declaritive performance counter permission checks.

PerformanceCounterPermissionEntry

Defines the smallest unit of a code access security permission that is set for a System.Diagnostics.PerformanceCounter.

PerformanceCounterPermissionEntryCollection

Contains a strongly typed collection of System.Diagnostics.PerformanceCounterPermissionEntry objects.

PerformanceCounterType

Specifies the formula used to calculate the System.Diagnostics.PerformanceCounter.NextValue method for a System.Diagnostics.PerformanceCounter instance.

Process

Provides access to local and remote processes and enables you to start and stop local system processes.

ProcessModule

Represents a.dll or .exe file that is loaded into a particular process.

ProcessModuleCollection

Provides a strongly typed collection of System.Diagnostics.ProcessModule objects.

ProcessPriorityClass

Indicates the priority that the system associates with a process. This value, together with the priority value of each thread of the process, determines each thread's base priority level.

ProcessStartInfo

Specifies a set of values that are used when you start a process.

ProcessThread

Represents an operating system process thread.

ProcessThreadCollection

Provides a strongly typed collection of System.Diagnostics.ProcessThread objects.

ProcessWindowStyle

Specified how a new window should appear when the system starts a process.

SourceFilter

Indicates whether a listener should trace a message based on the source of a trace.

SourceLevels

Specifies the levels of trace messages filtered by the source switch and event type filter.

SourceSwitch

Provides a multilevel switch to control tracing and debug output without recompiling your code.

StackFrame

Provides information about a System.Diagnostics.StackFrame, which represents a function call on the call stack for the current thread.

StackTrace

Represents a stack trace, which is an ordered collection of one or more stack frames.

Stopwatch

Provides a set of methods and properties that you can use to accurately measure elapsed time.

Switch

Provides an abstract base class to create new debugging and tracing switches.

SwitchAttribute

Identifies a switch used in an assembly, class, or member.

SwitchLevelAttribute

Identifies the level type for a switch.

TextWriterTraceListener

Directs tracing or debugging output to a System.IO.TextWriter or to a System.IO.Stream, such as System.IO.FileStream.

ThreadPriorityLevel

Specifies the priority level of a thread.

ThreadState

Specifies the current execution state of the thread.

ThreadWaitReason

Specifies the reason a thread is waiting.

Trace

Provides a set of methods and properties that help you trace the execution of your code. This class cannot be inherited.

TraceEventCache

Provides trace event data specific to a thread and a process.

TraceEventType

Identifies the type of event that has caused the trace.

TraceFilter

Provides the base class for trace filter implementations.

TraceLevel

Specifies what messages to output for the System.Diagnostics.Debug, System.Diagnostics.Trace and System.Diagnostics.TraceSwitch classes.

TraceListener

Provides the abstract base class for the listeners who monitor trace and debug output.

TraceListenerCollection

Provides a thread-safe list of System.Diagnostics.TraceListener objects.

TraceOptions

Specifies trace data options to be written to the trace output.

TraceSource

Provides a set of methods and properties that enable applications to trace the execution of code and associate trace messages with their source.

TraceSwitch

Provides a multilevel switch to control tracing and debug output without recompiling your code.

XmlWriterTraceListener

Directs tracing or debugging output as XML-encoded data to a System.IO.TextWriter or to a System.IO.Stream, such as a System.IO.FileStream.