Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implement symbol downloading without symchk.exe #4

Open
wants to merge 3 commits into
base: master
Choose a base branch
from

Conversation

DrChat
Copy link

@DrChat DrChat commented Sep 1, 2020

This PR addresses #3.
Note that we still don't handle more advanced forms of _NT_SYMBOL_PATH - only the most basic.
This set of changes also does not handle compressed symbols, or alternate symbol server layouts (indicated by the presence of index2.txt).

This does however break the dependency on symchk.exe, allowing this tool to be used on Linux machines the same as Windows.
In addition, a design of using a thread pool is certainly more efficient than spawning multiple copies of symchk.exe.

More to potentially come as features are needed.

@DrChat DrChat force-pushed the fetch_async branch 2 times, most recently from ab91ba1 to f6804fa Compare January 15, 2021 03:20
@gamozolabs
Copy link
Owner

This looks good. I won't want to merge it in yet until it supported compressed PDBs as that seems to be the primary format at least from MSDL symbol store (unless something has changed).

I've done something like this before, and historically I had case sensitivity issues. I can't remember if it was on the download side, the storage side, or the symbol matching side. But something to be aware of. Looks goo otherwise.

@DrChat
Copy link
Author

DrChat commented Apr 18, 2021

👍 - It doesn't appear that Microsoft offers compressed PDBs (oddly enough).
As far as I'm aware, compressed PDBs are offered with the pdb extension changed to a pd_ extension, and on Microsoft servers that 404's.

Do you have a good test case for compressed PDBs?

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