dotnet / runtime

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

[cdac] Implement `!PrintException` #99302

Open lambdageek opened 4 months ago

lambdageek commented 4 months ago

Part of #99298

This will require bringing up a basic data stream reader and registering enough data types and instances in the runtime so that we can get at the exception.

Additionally see sos_printexception_walkthrough.md#exception-informaiton for a walkthrough of the relationship of these interfaces to what SOS is doing

For CLRMA, we will need a few additional methods: https://github.com/mikem8361/diagnostics/blob/clrma/documentation/clrma.md#dac-interfaces-used-by-clrma

ghost commented 4 months ago

Tagging subscribers to this area: @tommcdon See info in area-owners.md if you want to be subscribed.

Issue Details
null
Author: lambdageek
Assignees: -
Labels: `area-Diagnostics-coreclr`, `untriaged`, `needs-area-label`
Milestone: -
lambdageek commented 1 week ago

DAC interfaces used by CLRMA https://github.com/mikem8361/diagnostics/blob/clrma/documentation/clrma.md#dac-interfaces-used-by-clrma

Managed stack walking:

The stack walker is only used in the fallback case for hang dumps. Crash dumps are the most important