Skip to content

feat(symbols): add --sympath-append to search local directories for PDBs - #30

Merged
dmaivel merged 1 commit into
dmaivel:masterfrom
elmarco:sympath
Oct 7, 2026
Merged

dmaivel merged 1 commit into
dmaivel:masterfrom
elmarco:sympath

Conversation

@elmarco

@elmarco elmarco commented Oct 7, 2026

Copy link
Copy Markdown
Contributor

Add a repeatable --sympath-append CLI option that appends local directories to the symbol path. ntoseye looks for PDB files in these directories—both bare (e.g. dir/driver.pdb) and in symbol-store layout (dir/driver.pdb/GUID/driver.pdb)—during symbol resolution.

This is useful for loading PDBs built locally, such as those produced by the kvm-guest-drivers-windows build under its Install/ directory, without copying them into the managed symbol cache or standing up a symbol server.

Add a repeatable --sympath-append <PATH> CLI option that appends local
directories to the symbol path. ntoseye looks for PDB files in these
directories—both bare (e.g. dir/driver.pdb) and in symbol-store layout
(dir/driver.pdb/GUID/driver.pdb)—during symbol resolution.

This is useful for loading PDBs built locally, such as those produced by
the kvm-guest-drivers-windows build under its Install/ directory, without
copying them into the managed symbol cache or standing up a symbol
server.
dmaivel added a commit that referenced this pull request Oct 7, 2026
Clap replaces a global option's values from before the subcommand with
those after it, even when the option appends. `ntoseye --pdb-server a mcp
--pdb-server b` therefore searched only server b, silently. The parsing
that #30 added for --sympath-append already works around this, so apply
it to every repeatable target option instead of one.

Verified: cargo fmt --check and both clippy configurations are clean;
the accumulation test now covers --pdb-server and passes; an MCP server
started with a server and a directory on each side of `mcp` listed all
four in command-line order in `.sympath` against the live guest.
@dmaivel
dmaivel merged commit e2b87c1 into dmaivel:master Oct 7, 2026
21 checks passed
dmaivel added a commit that referenced this pull request Oct 7, 2026
#30 added the option without prose docs or a changelog line. The symbols
guide said the start-up path ends at Microsoft's server, and the
troubleshooting page told users to replace the whole path with .sympath
to use local PDBs, where .sympath+ or the new option keeps the cache and
servers. The guide also now says that local directories are searched
before any server, since `.sympath` lists the appended directories last
and that order reads as if they came after a download.

Verified: sphinx-build -n -W, parse-changelog, both clippy
configurations, cargo check for the server features, cargo test --lib
(1035), the Python stub (unchanged), mypy --strict, pytest, and the live
suite (33 passed) all pass; the built command-line reference, symbols
guide and changelog show the option.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants