[cDAC] Contract implementations needed for managed stack walking #110758
Labels
area-Diagnostics-coreclr
enhancement
Product code improvement that does NOT require public API changes/additions
tracking
This issue is tracking the completion of other related issues.
Milestone
Issue is in progress and incomplete
To create a full managed stack walk, two types of stacks must be read. Call frames on the stack and capital "F" Frames which represent runtime unmanaged frames. The Frames are stored through a linked list on the runtime thread data structure. For more information see: BOTR Stack Walking.
To unwind call frames, there are several techniques used across different architectures. Because this is architecture/platform specific it is easier to delegate to libunwind/current implementation in the runtime. For more info on platform specific unwinding:
Stack Unwinding Algorithm
Work Items
Initial implementation will focus on Windows x64 stack walking before expanding to all supported platforms.
Frame Walking
Managed Stack Walking
ICorDebugDataTarget
into the cDAC to facilitate getting thread context through ICorDebugDataTarget::GetThreadContextCONTEXT
and libunwindCONTEXT
.Putting in together
IXCLRDataStackWalk
object:The text was updated successfully, but these errors were encountered: