Skip to content

IXCLRDataMethodInstance.GetILAddressMap is broken in .NET 6 RC1 #59109

@gregg-miskelly

Description

@gregg-miskelly

Description

In .NET 6 rc1, mscordaccore.dll!ClrDataMethodInstance::GetILAddressMap will always fail with E_INVALIDARG. The problem is that GetMethodNativeMap always provides 0 as the second argument (address) to ClrDataAccess::GetMethodNativeMap. This is passed to ExecutionManager::GetNativeCodeVersion, which will always fail.

Call stack:

 	mscordaccore.dll!ExecutionManager::GetNativeCodeVersion(unsigned __int64 currentPC) Line 4287	C++
 	mscordaccore.dll!ClrDataAccess::GetMethodNativeMap(MethodDesc * methodDesc, unsigned __int64 address, unsigned int * numMap, DebuggerILToNativeMap * * map, bool * mapAllocated, unsigned __int64 * codeStart, unsigned int * codeOffset) Line 6133	C++
>	mscordaccore.dll!ClrDataMethodInstance::GetILAddressMap(unsigned int mapLen, unsigned int * mapNeeded, __MIDL___MIDL_itf_xclrdata_0000_0012_0003 * maps) Line 4250	C++

Configuration

  • Which version of .NET is the code running on? .NET 6 rc1
  • What OS and version, and what distro if applicable? Windows
  • What is the architecture (x64, x86, ARM, ARM64)? x64
  • Do you know whether it is specific to that configuration? I don't look like it

Regression?

This worked in preview 7 of .NET 6 as well as all previous .NET releases

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions