-
Notifications
You must be signed in to change notification settings - Fork 5.2k
[cDAC] IXCLRDataMethodInstance::GetILOffsetsByAddress
#117088
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
[cDAC] IXCLRDataMethodInstance::GetILOffsetsByAddress
#117088
Conversation
…XCLRDataMethodInstance.GetTokenAndScope
This reverts commit 16becb8.
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 implements the IXCLRDataMethodInstance::GetILOffsetsByAddress
method in the cDAC data contract system. The implementation adds support for reading debug information that maps native code addresses to IL offsets, which is essential for debugging scenarios where mapping between native and managed code is needed.
Key Changes:
- Adds a new
IDebugInfo
contract for accessing debug information from native code - Implements debug info parsing for both jitted code (EEJitManager) and ReadyToRun code (ReadyToRunJitManager)
- Updates execution manager to provide debug info access through
GetDebugInfo
method
Reviewed Changes
Copilot reviewed 35 out of 37 changed files in this pull request and generated 1 comment.
Show a summary per file
File | Description |
---|---|
src/native/managed/cdac/mscordaccore_universal/Legacy/ClrDataMethodInstance.cs |
Implements the main GetILOffsetsByAddress method with debug validation |
src/native/managed/cdac/Microsoft.Diagnostics.DataContractReader.Contracts/Contracts/DebugInfo/DebugInfo_1.cs |
Core debug info parsing implementation with bounds data decoding |
src/native/managed/cdac/Microsoft.Diagnostics.DataContractReader.Contracts/Contracts/ExecutionManager/ExecutionManagerCore.EEJitManager.cs |
Debug info access for jitted code via RealCodeHeader |
src/native/managed/cdac/Microsoft.Diagnostics.DataContractReader.Contracts/Contracts/ExecutionManager/ExecutionManagerCore.ReadyToRunJitManager.cs |
Debug info access for ReadyToRun code via native arrays |
src/coreclr/vm/readytoruninfo.cpp |
Updates ReadyToRun initialization to cache debug info section |
src/coreclr/tools/aot/ILCompiler.Reflection.ReadyToRun/NativeReader.cs |
Changes Stream.Read to ReadExactly for exact byte reading |
No description provided.