Diagnostics and instrumentation


Automate administrative tasks on remote computers and supply data to other parts of the operating system and products—for example, System Center Operations Manager or Windows Remote Management (WinRM).

Use an XML manifest to define the events that you want to publish to a channel or to an ETW session, to trace or log events for troubleshooting.

Include error-handling code to your app to recover gracefully from unexpected errors.

Understand the state of your system and remedy problems with performance, reliability, or functionality.

Capture process state, whole or in part, including the virtual address contents of a process using the Windows internal POSIX fork clone capability.

Assessing performance

Generate alert notifications based on performance counter thresholds, to query performance data, create event tracing sessions, capture a computer's configuration, and trace the API calls in some of the Win32 system DLLs.

Discover how well your app performs, identify system bottlenecks, and fine-tune system and app performance.

Provide simplified network troubleshooting for your users by integrating an extensible troubleshooting tool into your app.

Capture network traffic for display and analysis. Analyze previously captured data in user-defined methods and extract data from defined protocol parsers.

Improving UX

Get error report info about your customers from Microsoft and use that info to help them fix problems and to ensure that they don't lose data after an app crashes.

Automate the process of fixing the most common detectable issues that your customer might encounter while using your app.

Save data and state info when your app must exit due to an unhandled exception, or when the app stops responding; and then restart the app, if requested.

Targeting specialized apps

For ActiveX controls. View real-time and previously logged performance-counter data such as memory, disk, and processor counter data.

For mobile apps. Determine connection bandwidth and latency info from within your app to optimize the app's operation.

For tools developers. Get info about currently executing apps and streamline the creation of tools like debuggers.

Capture thread-profiling data, such as cycle time and the reasons for context switches, and counter data for hardware performance counters.

Was this page helpful?
Additional feedback?
Thank you! We appreciate your feedback.