microsoft / microsoft/CsWinRT

Need general diagnostic tracing added to runtime and interop assemblies

Open
#188 0 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

debugging enhancement
Dominant language
C#
Stars
665
Forks
134
Avg merge
1d 3h
Merged PRs (30d)
32

Description

There are a few paths that can fail at runtime and would benefit greatly with some trace logging, such as:

  • Helper type not found: this can indicate an internal projection error
  • Attempt to combine legacy RCWs (ComImport) with C#/WinRT
  • OS factory activation failed, falling back to file-based: this can indicate a manifest issue
  • Factory ActivateInstance failed: this can indicate loader/dependency issue

For ActivateInstance failures, specific messages for common errors would be helpful:
ERROR_MOD_NOT_FOUND: this can indicate VCRT forwarders missing
ERROR_PROC_NOT_FOUND: this indicates the target DLL is not a WinRT component
ERROR_BAD_FORMAT: this indicates an arch mismatch in the component dll

How to: Use TraceSource and Filters with Trace Listeners

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by locating the runtime and interop assembly paths that handle helper-type lookup, RCW combination, OS factory activation, and ActivateInstance failures. Review the linked TraceSource guidance and map the listed Windows error codes to the relevant failure paths. Done means these paths emit useful trace diagnostics, including the requested interpretations for common ActivateInstance errors.

Written by the indexing model from the issue text.

Assessment

Tech stack
csharp
Domain
desktop
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.