[GH-ISSUE #2351] [Feature] Bind Portable PDB sequence points to selected managed methods #776

Open
opened 2026-10-15 18:28:15 +00:00 by bsakaguchi · 0 comments
Owner

Originally created by @matbrgz on GitHub (Oct 12, 2026).
Original GitHub issue: https://github.com/morluto/rea/issues/2351

Type: Feature Domain: Reverse Engineering Status: Proposed Ecosystem: REA

Analyst question and current scope

Current managed inspection exposes PE/CLI metadata, CIL and member identities. Its declared contracts do not expose a caller-selected Portable PDB profile, document checksums or sequence-point mapping bound to those method identities. Analysts cannot currently distinguish a matching debug map from a same-named unrelated symbol file.

Acceptance criteria

  • Accept an explicitly selected Portable PDB and establish its declared debug identity against the selected assembly; mismatches remain explicit.
  • Return document names/checksums and visible/hidden sequence points keyed to build-local method tokens and IL offsets.
  • Keep absent documents, hidden points and unreadable tables separate; preserve both artifact hashes and source byte provenance.
  • Do not fetch or execute source files; test embedded/external PDBs, mismatches, truncated metadata, cancellation and CLI/MCP parity.

This adds debug evidence, not reconstructed C# or a claim of source recovery. Optional decompiled C# is tracked separately in #2299.

Priority: P2. The current surface was checked at upstream 1c3791430, and open/closed issues were searched before filing. Proposed file-analysis features need their own spec/plan/tasks under docs/specs/. If implementation requires a new provider or expands execution authority, obtain the maintainer scope decision required by CONTRIBUTING.md before integration; this proposal itself does not authorize that expansion.

Originally created by @matbrgz on GitHub (Oct 12, 2026). Original GitHub issue: https://github.com/morluto/rea/issues/2351 [![Type: Feature](https://img.shields.io/badge/type-feature-blue.svg?style=flat-square)](https://github.com/morluto/rea) [![Domain: Reverse Engineering](https://img.shields.io/badge/domain-reverse_engineering-blueviolet.svg?style=flat-square)](https://github.com/morluto/rea) [![Status: Proposed](https://img.shields.io/badge/status-proposed-blue.svg?style=flat-square)](https://github.com/morluto/rea) [![Ecosystem: REA](https://img.shields.io/badge/ecosystem-morluto%2Frea-8A2BE2.svg?style=flat-square)](https://github.com/morluto/rea) ## Analyst question and current scope Current managed inspection exposes PE/CLI metadata, CIL and member identities. Its declared contracts do not expose a caller-selected Portable PDB profile, document checksums or sequence-point mapping bound to those method identities. Analysts cannot currently distinguish a matching debug map from a same-named unrelated symbol file. ## Acceptance criteria - [ ] Accept an explicitly selected Portable PDB and establish its declared debug identity against the selected assembly; mismatches remain explicit. - [ ] Return document names/checksums and visible/hidden sequence points keyed to build-local method tokens and IL offsets. - [ ] Keep absent documents, hidden points and unreadable tables separate; preserve both artifact hashes and source byte provenance. - [ ] Do not fetch or execute source files; test embedded/external PDBs, mismatches, truncated metadata, cancellation and CLI/MCP parity. ## Source and related work - https://github.com/dotnet/runtime/blob/main/docs/design/specs/PortablePdb-Metadata.md This adds debug evidence, not reconstructed C# or a claim of source recovery. Optional decompiled C# is tracked separately in #2299. Priority: P2. The current surface was checked at upstream 1c3791430, and open/closed issues were searched before filing. Proposed file-analysis features need their own spec/plan/tasks under docs/specs/. If implementation requires a new provider or expands execution authority, obtain the maintainer scope decision required by CONTRIBUTING.md before integration; this proposal itself does not authorize that expansion.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
morluto/rea#776
No description provided.