-
Notifications
You must be signed in to change notification settings - Fork 5.1k
Adding GetAppDomainData cDAC API #117827
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Adding GetAppDomainData cDAC API #117827
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR adds the GetAppDomainData cDAC API implementation, providing a new contract-based approach for retrieving application domain information. The implementation exposes app domain stage, assembly counts, heap information, and other critical metadata through the data contract reader.
- Added SystemDomain and enhanced LoaderAllocator data contracts with heap field mappings
- Implemented GetAppDomainData method in SOSDacImpl with comprehensive validation against legacy implementation
- Extended ILoader contract with new methods for retrieving domain stage, activity status, and heap allocators
Reviewed Changes
Copilot reviewed 13 out of 13 changed files in this pull request and generated 1 comment.
Show a summary per file
File | Description |
---|---|
SOSDacImpl.cs | Added complete GetAppDomainData implementation with DEBUG validation against legacy DAC |
ISOSDacInterface.cs | Added DacpAppDomainData struct definition |
SystemDomain.cs | New data contract class for SystemDomain with GlobalLoaderAllocator field |
LoaderAllocator.cs | Added heap pointer fields (HighFrequency, LowFrequency, Stub) |
AppDomain.cs | Added Stage field for lifecycle tracking |
Loader_1.cs | Implemented new ILoader methods and DacpAppDomainDataStage enum |
Constants.cs | Added DefaultADID global constant |
DataType.cs | Added SystemDomain data type |
ILoader.cs | Extended interface with stage, activity, and heap allocator methods |
loaderallocator.hpp | Added cdac_data template specialization for heap fields |
appdomain.hpp | Updated Stage enum type and added cdac_data fields |
datadescriptor.h | Added CDAC type and field definitions for new contracts |
Loader.md | Updated documentation with new API methods and data structures |
...tive/managed/cdac/Microsoft.Diagnostics.DataContractReader.Abstractions/Contracts/ILoader.cs
Show resolved
Hide resolved
...tive/managed/cdac/Microsoft.Diagnostics.DataContractReader.Abstractions/Contracts/ILoader.cs
Show resolved
Hide resolved
src/native/managed/cdac/mscordaccore_universal/Legacy/ISOSDacInterface.cs
Outdated
Show resolved
Hide resolved
src/native/managed/cdac/mscordaccore_universal/Legacy/SOSDacImpl.cs
Outdated
Show resolved
Hide resolved
src/native/managed/cdac/mscordaccore_universal/Legacy/SOSDacImpl.cs
Outdated
Show resolved
Hide resolved
src/native/managed/cdac/mscordaccore_universal/Legacy/SOSDacImpl.cs
Outdated
Show resolved
Hide resolved
src/native/managed/cdac/mscordaccore_universal/Legacy/ISOSDacInterface.cs
Outdated
Show resolved
Hide resolved
src/native/managed/cdac/mscordaccore_universal/Legacy/SOSDacImpl.cs
Outdated
Show resolved
Hide resolved
...tive/managed/cdac/Microsoft.Diagnostics.DataContractReader.Abstractions/Contracts/ILoader.cs
Outdated
Show resolved
Hide resolved
...native/managed/cdac/Microsoft.Diagnostics.DataContractReader.Contracts/Contracts/Loader_1.cs
Outdated
Show resolved
Hide resolved
src/native/managed/cdac/mscordaccore_universal/Legacy/SOSDacImpl.cs
Outdated
Show resolved
Hide resolved
src/native/managed/cdac/mscordaccore_universal/Legacy/ISOSDacInterface.cs
Outdated
Show resolved
Hide resolved
src/native/managed/cdac/mscordaccore_universal/Legacy/ISOSDacInterface.cs
Outdated
Show resolved
Hide resolved
src/native/managed/cdac/mscordaccore_universal/Legacy/SOSDacImpl.cs
Outdated
Show resolved
Hide resolved
src/native/managed/cdac/mscordaccore_universal/Legacy/SOSDacImpl.cs
Outdated
Show resolved
Hide resolved
src/native/managed/cdac/mscordaccore_universal/Legacy/ISOSDacInterface.cs
Outdated
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
lgtm. good work 👍
No description provided.