Open aeulitz opened 1 year ago
I found that the following sequence of commands can be used to show the source links embedded in the PDB.
pdbdump v8jsi.dll.pdb strnames | findstr "sourcelink
This outputs something like
892: 297 sourcelink$1
894: 0 sourcelink$2
I found pdbdump.exe on the \vcfs\builds\msvc\main\20221214.01\binaries.amd64ret\bin\amd64 release share (path probably needs to be adjusted for current releases).
pdbstr -p:v8jsi.dll.pdb -r -i:d:\temp\out.txt -s:'sourcelink$1
I found pdbstr.exe in d:\nugetcache\microsoft.windows.dbg.srcsrv.10.0.17074.10021\lib\amd64
The output file generated by the above command (d:\temp\out.txt) shows the JSON sourcelink map:
{
"documents": {
"D:\a\_work\1\s\\build\\v8build\\v8\\*" : "https://raw.githubusercontent.com/v8/v8/10.6.194.10/*",
"D:\a\_work\1\s\\build\\v8build\\v8\\jsi\\*" : "https://raw.githubusercontent.com/microsoft/v8-jsi/0492cb64ee645a2796ff0f1eb768a46611f2bc2c/src/*"
}
}
It seems that the local paths in the above map contain a mix of '\' and '\\' path separators. I'm guessing that in order to be valid JSON, all local path separators should be '\\'.
Replacing VSO:5259293 in an effort to create bugs that are more specific and further upstream.
Among the things that VSO:5259293 asked for was for V8 source code to resolve in the debugger. As I understand it, we attempted to address this by the addition of source links (scripts\fetch_code.ps1). However, as per a quick check with a devinstalled Office ( lkg/main/dev 16.0.16012.15010 (b7ab2e58b0)), symbols get loaded ...
However, sources do not appear to get resolved (using v8runtime::V8Runtime::ExecuteString as an example, WinDbg does not open any source file):