[Dev] Fixed name of logging method in managed logging #35952
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary of the Pull Request
The name of the logging method is included in logs. Sometimes the name of the method can be:
This PR attempts to fix these issues.
PR Checklist
Detailed Description of the Pull Request / Additional comments
Issue 1
Apparently due to inlining (no other plausible explanation comes to mind), we sometimes log the incorrect method name:
This has been fixed by marking logging methods with
NoInlining
so we can use a consistent frame index on the call-stack to identify the actual logging method.Issue 2
Async methods are logged with a mangled name because of compiler-generated code for the async state-machine:
This has been fixed by detecting this scenario and attempting to correct it by looking up the call-stack.
Validation Steps Performed
Ran a number of PowerToys modules in Release and Debug and verified method names were logged correctly.