Skip to content
This repository has been archived by the owner on Feb 12, 2023. It is now read-only.

GitLink does not discern what files are really needed to be indexed for native code PDB #203

Open
toughengineer opened this issue Jul 19, 2018 · 3 comments

Comments

@toughengineer
Copy link

I tried GitLink to index sources for one of boost DLLs and it shoved a whooping ~60000 (sixty thousand) item index into poor PDB which actually needed only 1000 index items.
This is overkill considering there may be tens of DLLs built from a hundred thousand file repo, and for every DLL GitLink would sweep the whole 100000 file repo, while the PDB contains info about exact files that should be indexed.
This is unacceptable.

@GeertvanHorrik
Copy link
Contributor

Thanks for the feedback. What do you think would be a good solution ?

@toughengineer
Copy link
Author

@GeertvanHorrik, hello.
At least sweep only files the particular PDB is referring to. You can get the list of these files, for example, using srctool from Debugging tools for Windows (see my comment in #188 for usage example). This should not be a problem since you are already using pdbstr from that suite.
Also you could process PDBs in batches, caching mappings of common files between PDBs. But this ultimately may be practically unnecessary as long as the first thing is implemented.
Hope it helps to make this tool better.

raymondwu1 added a commit to raymondwu1/GitLink that referenced this issue Feb 16, 2019
Srctool is used to list the raw source file information from the pdb and files not found in git or with an invalid extension are ignored.
raymondwu1 added a commit to raymondwu1/GitLink that referenced this issue Feb 16, 2019
Use srctool to obtain a list of source files from the pdb and filter out files not found in git or with an invalid extension
@raymondwu1
Copy link

Hi, I recently implemented what @toughengineer suggested and I'm currently just updating/cleaning my branch to prepare for a pull request. I imported version 6.12.2.633 of srctool which is packaged in the same version of Debugging tools for Windows that you guys are currently using for pdbstr. (I included a source in one of my commits) Having tested it internally, it works pretty great. Thanks for the awesome suggested solution.

JamieR pushed a commit to JamieR/GitLink that referenced this issue Sep 7, 2021
Use srctool to obtain a list of source files from the pdb and filter out files not found in git or with an invalid extension
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants