Skip to content

[cDAC] Support APIs used by SOS #117782

@max-charlamb

Description

@max-charlamb

Follow-up to #108553

SOS Commands with Unimplemented APIs

Total Implemented: 55 out of 96 (57.3%)

!ClrStack — Stack Walking (81.8% ready)

Core stack walking works; register names and stack references need legacy.

  • ISOSDacInterface::GetStackReferences — Stack root enumeration (HIGH)
  • ISOSDacInterface::GetRegisterName — Register name display (MEDIUM)

!DumpMT — MethodTable Inspection (88.9% ready)

Nearly complete; only code header data needs legacy.

  • ISOSDacInterface::GetCodeHeaderData — Code header data (HIGH) PR

!IP2MD — IP to Method Descriptor (66.7% ready)

Method desc lookup works; code header needs legacy.

  • ISOSDacInterface::GetCodeHeaderData — Code header info (HIGH) PR

!u — Native Disassembly (66.7% ready)

Core disassembly works; EH info and code headers need legacy.

  • ISOSDacInterface::GetCodeHeaderData — Code header data (HIGH) PR
  • ISOSDacInterface::TraverseEHInfo — EH info display (MEDIUM)

!EHInfo — Exception Handler Info (33.3% ready)

Core EH traversal depends on legacy.

  • ISOSDacInterface::GetCodeHeaderData — Code header data (HIGH) PR
  • ISOSDacInterface::TraverseEHInfo — EH traversal (MEDIUM)

!bpmd — Managed Breakpoints (45.5% ready)

Notification infrastructure ported; method name resolution and JIT control need legacy.

  • IXCLRDataModule::StartEnumMethodDefinitionsByName — Method lookup by name (HIGH)
  • IXCLRDataModule::EnumMethodDefinitionByName — Method lookup by name (HIGH)
  • IXCLRDataModule::EndEnumMethodDefinitionsByName — Method lookup by name (HIGH)
  • IXCLRDataProcess::TranslateExceptionRecordToNotification — Exception-to-notification (MEDIUM)
  • IXCLRDataModule::GetName — Module name for notifications (MEDIUM)
  • IXCLRDataModule2::SetJITCompilerFlags — JIT flag control (MEDIUM)

!DumpObj — Object Inspection (57.1% ready)

Core object dumping works; COM/tracked type features need legacy.

  • ISOSDacInterface10::GetObjectComWrappersData — ComWrappers per-object data (MEDIUM)
  • ISOSDacInterface11::IsTrackedType — Tracked type detection (LOW)
  • ISOSDacInterface11::GetTaggedMemory — Tagged memory regions (LOW)

!PrintException — Exception Display (83.3% ready)

Works for most exceptions; COM exception RCW data needs legacy.

  • ISOSDacInterface::GetRCWData — RCW data for COM exceptions (MEDIUM)

!SyncBlk — Sync Block Inspection (50% ready)

Thread data works; sync block needs legacy.

  • ISOSDacInterface::GetSyncBlockData — Sync block data (HIGH)

!GCHandles — Handle Enumeration (0% ready)

Completely depends on legacy.

  • ISOSDacInterface::GetHandleEnum — Handle enumeration (HIGH)

!DumpRCW — RCW Inspection (25% ready)

Mostly depends on legacy.

  • ISOSDacInterface::GetRCWData — RCW data (MEDIUM)
  • ISOSDacInterface::GetRCWInterfaces — RCW interface enumeration (MEDIUM)
  • ISOSDacInterface10::IsComWrappersRCW — ComWrappers RCW detection (MEDIUM)

!DumpCCW — CCW Inspection (0% ready)

Completely depends on legacy.

  • ISOSDacInterface::GetCCWData — CCW data (MEDIUM)
  • ISOSDacInterface::GetCCWInterfaces — CCW interface enumeration (MEDIUM)
  • ISOSDacInterface10::IsComWrappersCCW — ComWrappers CCW detection (MEDIUM)
  • ISOSDacInterface10::GetComWrappersCCWData — ComWrappers CCW data (MEDIUM)

!RCWCleanupList — COM Cleanup (legacy)

  • ISOSDacInterface::TraverseRCWCleanupList — RCW cleanup list traversal (LOW)

!enummem — Memory Region Enumeration (0% ready)

Completely depends on legacy.

  • ICLRDataEnumMemoryRegions::EnumMemoryRegions — Dump memory enumeration (MEDIUM)

!SOSHandleCLRN — CLR Notification Handling

  • IXCLRDataProcess::TranslateExceptionRecordToNotification — Breakpoint exception handling (MEDIUM)

SOS Tiered Compilation Helpers

  • ISOSDacInterface5::GetTieredVersions — Tiered compilation info (MEDIUM)

SOS Disassembly Helpers

  • ISOSDacInterface::GetJitHelperFunctionName — JIT helper annotation (MEDIUM)

Metadata

Metadata

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

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions