blob: fb9c5106fe7d07abb5e27baf6309149c3a617617 [file] [log] [blame]
This tool is designed to download PE files and symbols from symbol servers.
Normally this is done automatically by tools such as windbg but it can be
helpful to be able to download these files on demand.
Sample usage:
> rem Add the VS tools to the path, for access to dumpbin
> "%vs120comntools%vsvars32.bat"
D:\src\chromium\src\tools\win>dumpbin /headers "c:\Program Files (x86)\Google\Chrome\Application\chrome.exe" | findstr "RSDS date image"
54E3AECF time date stamp Tue Feb 17 13:12:47 2015
400000 image base (00400000 to 004D2FFF)
0.00 image version
D3000 size of image
54E3AECF cv 5D 0008DF80 8D380 Format: RSDS, {283A66AE-3EF3-4383-8798-F6617112B1F6}, 1, C:\b\build\slave\win\build\src\out\Release\initialexe\chrome.exe.pdb
> RetrieveSymbols {283A66AE-3EF3-4383-8798-F6617112B1F6}, 1 chrome.exe.pdb
Parsing symbol data for a PDB file.
Looking for 283A66AE3EF343838798F6617112B1F6 1 chrome.exe.pdb.
Found symbol file - placed it in d:\src\symbols\chrome.exe.pdb\283A66AE3EF343838798F6617112B1F61\chrome.exe.pdb.
> RetrieveSymbols 54E3AECF D3000 chrome.exe
Parsing symbol data for a PE (.dll or .exe) file.
Looking for chrome.exe 54e3aecf d3000.
Found symbol file - placed it in d:\src\symbols\chrome.exe\54E3AECFd3000\chrome.exe.
The first invocation of RetrieveSymbols uses the GUID, age, and PDB name from
the RSDS line of the dumpbin output -- the extraneous '{', '}', ',' and '-'
characters are stripped out.
The second invocation of RetrieveSymbols uses the time date stamp from the
first line of the dumpbin output, the "size of image" data, and the
executable name.
This information can also be obtained from breakpad reports, from windbg
by using "lmv m chrome_elf" and "!lmi chrome_elf.dll", from ETW traces,
and from other sources.