Skip to content

Debugging Support

Prova provides first-class support for debugging CI failures through automatic crash and hang dump generation, powered by the Microsoft Testing Platform (MTP).

Crash Dumps

Automatically capture a process dump when the test host crashes (e.g., due to a segmentation fault, stack overflow, or unhandled exception).

Usage

Enable crash dumps via the CLI:

bash
dotnet test --crashdump

Or when running the executable directly:

bash
./Tests --crashdump

Configuration

You can configure dump type and other settings using standard MTP environment variables or CLI options if supported by the extension (refer to Microsoft.Testing.Extensions.CrashDump documentation).

Hang Dumps

Automatically capture a dump when a test execution exceeds a specified timeout.

Usage

Enable hang dumps and specify the timeout:

bash
dotnet test --hangdump --hangdump-timeout 10m
  • --hangdump: Enables the hang dump provider.
  • --hangdump-timeout <value>: Specifies the timeout duration (e.g., 10m, 30s). If the test execution takes longer than this, a dump is triggered and the process is terminated.

Example

bash
# Capture a dump if tests take longer than 5 minutes
dotnet test --hangdump --hangdump-timeout 5m

Analyizing Dumps

Generated dumps are typically stored in the TestResults directory. You can analyze them using:

  • Visual Studio: Open the .dmp file.
  • lldb (Linux/macOS): lldb --core <dumpfile> <executable>
  • dotnet-dump: dotnet-dump analyze <dumpfile>

Released under the MIT License.