How to load all Windows Symbols from server, starting with W10 version 1803 / build 17134?
Asked Answered
K

2

9

I used to download Offline symbol packages (Debug symbol MSIs) and use only them since it's we don't need to wait for slow downloading as we go in debugging. However this feature is no longer existing starting with Windows 10 1803/build 17134 (Features removed).

How can I fetch all of them once and for all ?

Koziara answered 4/5, 2018 at 16:18 Comment(10)
By using Symchk.exe utility, I would venture. learn.microsoft.com/en-us/windows-hardware/drivers/debugger/…Evince
@SeverinPappadeux symchk doesn't fit the I want them all need.Koziara
Symchk.exe is right toolPostaxial
@Soleil, Whether magicandre1981's suggestion is helpful for you? Actually I agree with him, since the previous feature has been removed, you could think about using the command line as a workaround now:learn.microsoft.com/en-us/windows-hardware/drivers/debugger/…Kittrell
@JackZhai-MSFT Didn't give it a try yet. I couldn't install symcheck from VS installer, and it seems it won't be started from powershell. It looked like it's an old workaround, so I was looking for something more modern or up to date.Koziara
@JackZhai-MSFT Furthermore, it is said to be part of Windows SDK learn.microsoft.com/en-us/windows-hardware/drivers/debugger/… so, it means I should have installed it from VS installer, but I couldn't find it in the folders.Koziara
(C:\Program Files (x86)\Windows Kits then sudo find . -name "symchk.exe" or Get-ChildItem -Recurse "symchk.exe")Koziara
@Soleil, It is delivered with Debugging Tools for Windows(Not in VS IDE): https://mcmap.net/q/1083668/-location-of-symchkKittrell
@Soleil, Did you resolve this issue in your side using this command line? If you have any issue or latest information, feel free to share it here.Kittrell
@JackZhai-MSFT Thanks for the heads up. It looks like it works but it really sounds and looks like a workaround. I got symbols for many apps I'm not using for Windows development (such as mssql), I'm getting lots of 'FAILED' for dlls and other files. It's also extremely slow, download/exchanges are stalling recurrently. symchk is also from non powershell world. One question: how do I know that everything I need is there ? I mean, how come binaries from SDK are only in c:\windows ? And last, how to download only symbols for whole SDK ?Koziara
P
9

Run this command to get all PDBs for all Windows files:

"C:\Program Files (x86)\Windows Kits\10\Debuggers\x86\symchk.exe" /r c:\windows /s SRV*c:\symbols\*http://msdl.microsoft.com/download/symbols
Postaxial answered 5/5, 2018 at 14:23 Comment(10)
How do I know for which build I'm downloading ? How do I change the build ?Koziara
this downloads the PDBs for the current installed Windows. To downlaod other PDBs, mount the install.wim of the Windows you want and change the folder in the commandline to the mounted WIM folderPostaxial
Thanks. How can I download only symbols for Windows SDK ? For instance, the command is downloading symbols for mssql and many other programs that are not part of the SDK.Koziara
change c:\windows in commandline to C:\Program Files (x86)\Windows Kits\10 to get PDBs for all SDK filesPostaxial
This doesn't work any more. For all files it returns FAILED - mismatched or not foundSobel
@AntonKukoba post more details. not all files have symbols on symbol server.Postaxial
I can't download user32.dll symbols neither for 1703 nor for 1803. C:\Users\kukoba.anton>"C:\Program Files (x86)\Windows Kits\10\Debuggers\x86\symchk.exe" "C:\Windows\system32\user32.dll" /s SRV*c:\symbols*msdl.microsoft.com/download/symbols SYMCHK: user32.dll FAILED - wuser32.pdb mismatched or not found SYMCHK: FAILED files = 1 SYMCHK: PASSED + IGNORED files = 0 And I'm pretty sure it all worked well a month ago.Sobel
@AntonKukoba it looks like Microsofts symbol server is down. I see gateway timeout error in Windbg. try it again laterPostaxial
@AntonKukoba symbol server is up again. try it again.Postaxial
Would just like to point out, I found a way to more easily get the target symbols download without mounting the install.wim for your build: symchk.exe /r \\[your_target_hostname]\C$\Windows /s SRV*C:\Symbols*http://msdl.microsoft.com/download/symbols It pulls the symbols from a live machine across the network.Vermiform
W
1

I know this is an old post, and symchk.exe works just fine.
But this application is far to slow and antiquate.
Based on the PDB-Downloader I created a PowerShell script to download from massive file lists.
Do check it out!

Get-PdbSymbol

It requires PowerShell 7.3 or newer.

Sample output:

[4ms] C:\..\System32>_ Get-PdbSymbol -Path $files.ToArray() -DestinationStore 'C:\Symbols\'
Downloading Symbols [Processed files: 11875/27727. C:\Windows\WinSxS\amd64_microsoft-windows-directui_31bf3856ad364e.]
  Downloading file 'windows.ui.xaml.pdb' [Downloaded (330074K of 330116K):                                           ]
Wenwenceslaus answered 2/4, 2023 at 1:58 Comment(2)
please post text code, no picturesKoziara
There's a link to the code on the message.Wenwenceslaus

© 2022 - 2024 — McMap. All rights reserved.