Skip to content
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

[Request] Support ComWrappers API in debug interfaces for diagnostic CCW/RCW decoding. #42698

Open
chuckries opened this issue Sep 24, 2020 · 4 comments
Labels
area-Diagnostics-coreclr enhancement Product code improvement that does NOT require public API changes/additions
Milestone

Comments

@chuckries
Copy link
Contributor

chuckries commented Sep 24, 2020

The VS Debugger has the ability to decode CCW's and RCW's while mixed mode debugging in order to visualize a managed object through a native interface pointer and vice versa. If a customer begins to consume the new ComWrappers API, this decoding will stop working. In .NET 6, the necessary debug interface implementations should be updated to work with ComWrappers API.

VS's CCW and RCW is primarily focused on supporting internal devs, even though it is publicly available. This is not being driven by a customer ask.

APIs

CCW Decoding

ICorDebugAppDomain4::GetObjectForCCW

RCW Decoding

Today the debugger uses ICorDebugComObjectValue::GetCachedInterfacePointers to obtain the IUnknown* for a managed object. As this interface can't be fully supported by ComWrappers API, I suggest we add a new API such as ICorDeubgComObjectValue2::GetIUnknown().

@Dotnet-GitSync-Bot Dotnet-GitSync-Bot added area-Diagnostics-coreclr untriaged New issue has not been triaged by the area owner labels Sep 24, 2020
@ghost
Copy link

ghost commented Sep 24, 2020

Tagging subscribers to this area: @tommcdon
See info in area-owners.md if you want to be subscribed.

@chuckries
Copy link
Contributor Author

cc @AaronRobinsonMSFT @tommcdon

@chuckries
Copy link
Contributor Author

The primary driver of this is to support CsWinRt scenarios.

@AaronRobinsonMSFT
Copy link
Member

AaronRobinsonMSFT commented Sep 24, 2020

/cc @Scottj1s @davmason

@tommcdon tommcdon removed the untriaged New issue has not been triaged by the area owner label Sep 24, 2020
@tommcdon tommcdon added this to the 6.0.0 milestone Sep 24, 2020
@noahfalk noahfalk added the enhancement Product code improvement that does NOT require public API changes/additions label Nov 6, 2020
@tommcdon tommcdon modified the milestones: 6.0.0, 7.0.0 Jun 16, 2021
@tommcdon tommcdon modified the milestones: 7.0.0, Future Apr 27, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area-Diagnostics-coreclr enhancement Product code improvement that does NOT require public API changes/additions
Projects
None yet
Development

No branches or pull requests

5 participants