New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 821122 link

Starred by 1 user

Issue metadata

Status: Assigned
Owner:
Last visit > 30 days ago
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Bug



Sign in to add a comment

Investigate if we can inject generated source files into the PDB

Project Member Reported by zturner@chromium.org, Mar 12 2018

Issue description

Recently I discovered that a natvis file embedded in a PDB is really a special case of a more general concept - injecting arbitrary source code into a PDB.

DIA even supports an interface (IDiaEnumInjectedSources) that can find all the injected sources in a PDB.  Indeed, if you embed a natvis file, DIA will return the natvis file as an injected source.

What happens if we embed actual source code?  Could we embed generated source files so that the debugger could actually break on them?

There's no documentation about this, and even cl + link can't do this, but if we can figure out how to do it it would be pretty cool (assuming it is even possible and the debuggers support it).
 
The source indexing system handles retrieving the source used to build a binary in most cases, and it works quite well (we embed information that lets the debuggers retrieve files from the appropriate version control system) but source indexing doesn't work for generated files, so debugging these can be a nuisance. It also doesn't work for CRT files. So, embedding generated source files and perhaps CRT files (<vector> for instance) could be quite helpful, and probably wouldn't make our PDBs much bigger.
Status: Assigned (was: Untriaged)
This bug has an owner, thus, it's been triaged. Changing status to "assigned".

Sign in to add a comment