Microsoft.diagnosticshub.diagnostics.collectionstartfailedhubexception -

Shut down other profilers, performance monitors, or secondary Visual Studio instances debugging the same process.

Delete temporary diagnostic files: %TEMP%\Microsoft Diagnostics Hub\ %LOCALAPPDATA%\Microsoft\VisualStudio\<version>\DiagnosticsHub\

| Scenario | Explanation | |----------|-------------| | | The debugged app terminates between the “start collection” command and the diagnostic session’s initialization. | | Insufficient permissions | The Diagnostic Hub lacks permission to attach ETW sessions or read memory from the target process (e.g., elevated UAC requirements). | | Conflicting diagnostic tools | Another profiler (e.g., JetBrains dotMemory, PerfView, or a second Visual Studio instance) already holds a lock on the target process’s diagnostic interfaces. | | Corrupted Visual Studio installation | Missing or mismatched versions of DiagnosticsHub binaries or its dependencies (e.g., Microsoft.Diagnostics.Tracing.EventSource ). | | Unsupported runtime or architecture | Trying to collect diagnostics from an unsupported environment, such as a 32-bit process from a 64-only diagnostic host, or a .NET Framework app with incompatible profiling APIs. | 4. Typical Stack Trace Pattern While the exact trace varies, a typical exception might look like this: | | Conflicting diagnostic tools | Another profiler (e

catch (DiagnosticsCollectionStartFailedHubException ex)

In Visual Studio: Debug → Options → Enable Diagnostic Tools while debugging (uncheck). If the problem disappears, a specific tool (e.g., CPU Usage) is misconfigured. 7. Code Example (Illustrative) You would not typically catch this exception in production code. However, a diagnostic extension or custom profiler host might handle it like this: a specific tool (e.g.

Common failure scenarios include:

Console.WriteLine($"Diagnostic collection failed: ex.Message"); if (ex.InnerException is UnauthorizedAccessException) Console.WriteLine("Try running Visual Studio as Administrator."); // Log to telemetry or retry with fallback configuration CPU Usage) is misconfigured.

From the Visual Studio Installer → select More → Repair . This restores missing or corrupted Diagnostic Hub components.