dotnet-trace breaks apps that create their own child processes
- Dominant language
- C++
- Stars
- 1.3k
- Forks
- 404
- Avg merge
- 2d 3h
- Merged PRs (30d)
- 38
Description
### Description
I'm not sure if this is a feature request or a bug, but trying to use `dotnet-trace collect --show-child-io -- dotnet package search json` freezes and must be stopped with ctrl-c. The output is:
```text
The runtime has been configured to pause during startup and is awaiting a Diagnostics IPC ResumeStartup command from a Diagnostic Port.
DOTNET_DiagnosticPorts="dotnet-trace-48696-20250614_161420.socket"
DOTNET_DefaultDiagnosticPortSuspend=0
```
The .NET SDK implements most of its NuGet functionality by executing another console app as its own child process. `dotnet-trace` doesn't have a problem with most non-nuget commands, and `dotnet nuget why` is a special case, the first NuGet command to run in-proc, and dotnet-trace works with that as well. Older versions of the .NET SDK ran msbuild as a child process of `dotnet tool restore` and `dotnet tool install`, and dotnet-trace causes those to freeze and never recover as well.
If this is a known limitation, I've been unable to find it documented anywhere, but that could be a limitation in my own search ability.
### Configuration
I can reproduce on Windows and in WSL
### Regression?
### Other information
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.