dotnet / runtime

.NET is a cross-platform runtime for cloud, mobile, desktop, and IoT apps.
https://docs.microsoft.com/dotnet/core/
MIT License
14.54k stars 4.54k forks source link

Improve System.IO.Pipelines debugging #89281

Open JamesNK opened 11 months ago

JamesNK commented 11 months ago

System.IO.Pipelines is really hard to debug. Many bits of useful information about the current state of the pipe are buried deep in private fields.

Custom debugger type proxies should be added to PipeReader and PipeWriter that expose useful information:

JamesNK commented 11 months ago

Also, FlushResult and ReadResult should have debugger display attributes.