Skip to content

[cDAC] Stack Walking #110758

Open
5 of 12 issues completed
Open
5 of 12 issues completed
@max-charlamb

Description

@max-charlamb

In order to support SOS !analyze the cDAC must implement stack walking through the following APIs:

IXCLRDataTask::CreateStackWalk();
IXCLRDataStackWalk::Request(DACSTACKPRIV_REQUEST_FRAME_DATA, ...);
IXCLRDataStackWalk::GetContext();
IXCLRDataStackWalk::Next();

For more infomation on stackwalking, see StackWalk.md

Work Items

Lower Priority Items

x64 and arm64 specific Work Items

Initial implementation will focus on x64 stack walking before expanding to all supported platforms.

Lower Priority Items

x86 and arm32 specific Work Items

  • Create managed data structures for windows system CONTEXT on x86 and arm32
  • Support Native Unwinders on x86 and arm32
  • [cDAC] Stackwalking support all Frame types #114019
  • CodeInfo -> Decode GCHdrInfo
  • CodeInfo -> Get SavedMethodCode
  • CodeInfo -> Get RelativeOffset
  • CodeInfo -> Get FuncletStartAddress
  • CodeInfo -> Get IsFunclet

Paths Forwards

  1. Independent Work
    1. Complete Frame support
    2. Cross-platform building
    3. Filtering flags
    4. ARM32/x86 Support. Should wait for x86 to use funclets before adding support?
  2. SOS Work
    1. Flip to invoke cDAC directly, allow testing on platforms where the cross-DAC is not available.
    2. Automated testing
    3. Testing with customer dumps - Include all required datadescriptors ASAP to allow verification on customer dumps.
  3. Threat Model

Sub-issues

Metadata

Metadata

Assignees

No one assigned

    Labels

    area-Diagnostics-coreclrenhancementProduct code improvement that does NOT require public API changes/additionstrackingThis issue is tracking the completion of other related issues.

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions