dotnet / dotnet/diagnostics

GCDump requires client-side symbol lookup for native AOT

Open
#4,856 0 comments 0 reactions 0 assignees View on GitHub
enhancement
Dominant language
C++
Stars
1.3k
Forks
404
Avg merge
2d 5h
Merged PRs (30d)
35

Description

Native AOT applications [emits](https://github.com/dotnet/runtime/pull/94673) some events (GCBulkNode, GCBulkEdge, GCBulkRootEdge, TypeBulkType) that are related to managed GC that can be collected via a client diagnostic tool like, [dotnet-gcdump](https://learn.microsoft.com/en-us/dotnet/core/diagnostics/dotnet-gcdump) for managed heap analysis. However, since native AOT applications do not carry metadata, the type IDs require client time symbol lookup for user friendly analysis of the object graph. There is already some existing support for other [similar projects](https://github.com/dotnet/diagnostics/blob/afc42cb638e2634877054644fe2c2a1ba6c985c5/src/Tools/dotnet-gcdump/DotNetHeapDump/DotNetHeapDumpGraphReader.cs#L545) that might be useful when adding support for native AOT. There are also windows[ specific APIs](https://learn.microsoft.com/en-us/visualstudio/debugger/debug-interface-access/debug-interface-access-sdk) that might help.

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.