ISymUnmanagedReader4.GetSourceServerData doesn't work with multipart sourcelink streams
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 42/100
Research direction
Start by locating ISymUnmanagedReader4.GetSourceServerData and reading the Microsoft.DiaSymReader.Native call path; compare its stream handling with the PerfView NativeSymbolModule.cs example. Done means multipart sourcelink$1, sourcelink$2, and subsequent streams are handled alongside the single sourcelink stream; the issue names no test, so identify an appropriate regression test.
Written by the indexing model from the issue text.
Description
The implementation of GetSourceServerData calls into Microsoft.DiaSymReader.Native.*
That code checks only the "sourcelink" stream. That's good enough for managed binaries.
However, it doesn't check multi-part streams emitted by the C++ tooling.
These streams are named "sourcelink$1", "sourcelink$2", etc.
For an example of how to do it right, see this code in PerfView: https://github.com/microsoft/perfview/blob/main/src/TraceEvent/Symbols/NativeSymbolModule.cs#L1136
- Dominant language
- C#
- Stars
- 55
- Forks
- 50
- PR merge metrics
- No merged PRs in 30d
Getting set up
This project ships no dev container, Dockerfile or contributing guide, so setting up is up to you: start from its README, and see our first-contribution guide for the general steps.
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from dotnet/symreader
-
sample codeOpen
Difficulty 3/5 1-2 days Newbie friendliness 30/100
-
Difficulty 3/5 1-2 days Newbie friendliness 45/100
-
Difficulty 3/5 1-2 days Newbie friendliness 25/100
-
Difficulty 4/5 3-5 days Newbie friendliness 30/100
-
Test writer APIsOpen
Difficulty 5/5 Over a week Newbie friendliness 20/100
All issues in dotnet/symreader
Similar issues
-
needs triage
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
spectreconsole/spectre.console#2221 · 1 comment ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 85/100
godotengine/godot-docs#12428 ·
Maintainers usually reply within 1 day
-
.NET triage
Difficulty 2/5 1-3 hours Newbie friendliness 73/100
microsoft/semantic-kernel#14526 ·
Maintainers usually reply within 4 days
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
Maintainers usually reply within 1 day
-
Difficulty 1/5 Under an hour Newbie friendliness 92/100