xtd - Reference Guide  0.1.0
Modern c++17/20 framework to create console, GUI and unit test applications on Windows, macOS, Linux, iOS and android.
Classes | Alias | Enumerations | Functions
xtd::diagnostics Namespace Reference

Definition

The xtd::diagnostics namespace provides classes that allow you to interact with system processes, event logs, and performance counters.

Classes

class  boolean_switch
 Provides a simple on/off switch that controls debugging and tracing output. More...
 
class  console_trace_listener
 Directs tracing or debugging output to either the standard output or the standard error stream. More...
 
class  data_received_event_args
 Provides data for the xtd::diagnostics::process::output_data_received and xtd::diagnostics::process::error_data_received events. More...
 
class  debug
 Provides a set of methods and properties that help you debug the execution of your code. This class cannot be inherited. More...
 
class  debugger
 Enables communication with a debugger. This class cannot be inherited. More...
 
class  default_trace_listener
 Provides the default output methods and behavior for tracing. More...
 
class  event_type_filter
 Indicates whether a listener should trace based on the event type. More...
 
class  ostream_trace_listener
 Directs tracing or debugging output to a std::ostream, such as std::fstream, std::stream... More...
 
class  process
 Provides access to local and remote processes and enables you to start and stop local system processes. More...
 
class  process_start_info
 Specifies a set of values that are used when you start a process. More...
 
class  source_filter
 Indicates whether a listener should trace a message based on the source of a trace. More...
 
class  source_switch
 Provides a multilevel switch to control tracing and debug output without recompiling your code. More...
 
class  stack_frame
 Provides information about a xtd::diagnostics::stack_frame, which represents a function call on the call stack for the current thread. More...
 
class  stack_trace
 Represents a stack trace, which is an ordered collection of one or more stack frames. More...
 
class  stopwatch
 Provides a set of methods and properties that you can use to accurately measure elapsed time. More...
 
class  switch_base
 Provides an abstract base class to create new debugging and tracing switches. More...
 
class  trace
 Provides a set of methods and properties that help you debug the execution of your code. This class cannot be inherited. More...
 
class  trace_event_cache
 Provides trace event data specific to a thread and a process. More...
 
class  trace_filter
 Provides the base class for trace filter implementations. More...
 
class  trace_listener
 Provides the abstract base class for the listeners who monitor trace and debug output. More...
 
class  trace_listener_collection
 Represents a collection of xtd::diagnostics::trace_listener. More...
 
class  trace_source
 Provides a set of methods and properties that enable applications to trace the execution of code and associate trace messages with their source. More...
 
class  trace_switch
 Provides a multilevel switch to control tracing and debug output without recompiling your code. More...
 

Alias

using data_received_event_handler = xtd::delegate< void(object &sender, const xtd::diagnostics::data_received_event_args &e)>
 Represents the method that will handle the xtd::diagnostics::process::output_data_received and xtd::diagnostics::process::error_data_received event of a Process. More...
 

Enumerations

enum  assert_dialog_result {
  assert_dialog_result::abort = 3,
  assert_dialog_result::retry = 4,
  assert_dialog_result::ignore = 5
}
 Specifies identifiers to indicate the return value of an assertt dialog box. More...
 
enum  process_priority_class {
  process_priority_class::normal = 0x20,
  process_priority_class::idle = 0x40,
  process_priority_class::high = 0x80,
  process_priority_class::real_time = 0x100,
  process_priority_class::below_normal = 0x4000,
  process_priority_class::above_normal = 0x8000
}
 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. More...
 
enum  process_window_style {
  process_window_style::normal = 0,
  process_window_style::hidden = 1,
  process_window_style::minimized = 2,
  process_window_style::maximized = 3
}
 Specified how a new window should appear when the system starts a process. More...
 
enum  source_levels {
  source_levels::all = 0b1111111111111111,
  source_levels::off = 0,
  source_levels::critical = 0b1,
  source_levels::error = 0b11,
  source_levels::warning = 0b111,
  source_levels::information = 0b1111,
  source_levels::verbose = 0b11111,
  source_levels::activity_tracing = 0b1111111100000000
}
 Specifies the levels of trace messages filtered by the source switch and event type filter. This enumeration has a flags attribute that allows a bitwise combination of its member values. More...
 
enum  trace_event_type {
  trace_event_type::critical = 0b1,
  trace_event_type::error = 0b10,
  trace_event_type::warning = 0b100,
  trace_event_type::information = 0b1000,
  trace_event_type::verbose = 0b10000,
  trace_event_type::start = 0b100000000,
  trace_event_type::stop = 0b1000000000,
  trace_event_type::suspend = 0b10000000000,
  trace_event_type::resume = 0b100000000000,
  trace_event_type::transfer = 0b1000000000000
}
 Identifies the type of event that has caused the trace. More...
 
enum  trace_level {
  trace_level::off = 0,
  trace_level::error = 1,
  trace_level::warning = 2,
  trace_level::info = 3,
  trace_level::verbose = 4
}
 Specifies what messages to output for the debug, trace and trace_switch classes. More...
 
enum  trace_options {
  trace_options::none = 0,
  trace_options::logical_operation_stack = 0b1,
  trace_options::date_time = 0b10,
  trace_options::timestamp = 0b100,
  trace_options::process_id = 0b1000,
  trace_options::thread_id = 0b10000,
  trace_options::callstack = 0b100000
}
 Specifies trace data options to be written to the trace output. More...
 

Functions

std::ostream & operator<< (std::ostream &os, xtd::diagnostics::trace_level value)
 
std::wostream & operator<< (std::wostream &os, xtd::diagnostics::trace_level value)
 
std::ostream & operator<< (std::ostream &os, xtd::diagnostics::trace_event_type value)
 
std::wostream & operator<< (std::wostream &os, xtd::diagnostics::trace_event_type value)