File share (SMB) debugger symbol server
To run an SMB symbol server, create a file share and assign permissions to give users or groups access to the file share.
Note
In the current versions of Windows, a specific version of SMB may need to be configured or enabled. For more information, see How to detect, enable and disable SMBv1, SMBv2, and SMBv3 in Windows.
Create an SMB file share symbol store
Use File Explorer or Computer Management to create a file share and assign permissions.
The steps in the following sections assume that the symbols are located in D:\SymStore\Symbols.
File Explorer
To assign file share permissions by using File Explorer:
Open File Explorer.
Select and hold (or right-click) the D:\SymStore\Symbols folder and select Properties.
Select the Sharing tab.
Select Advanced Sharing.
In Advanced Sharing, select the Share this folder checkbox, and then select Permissions.
In Share Permissions, select Everyone, and then select Remove.
Select Add and enter the users or groups you want to access the file share.
For each user or group you add, select Allow to assign Full Control, Change, or Read permissions.
Select Apply, and then select OK.
Select OK, and then select Close.
Computer Management
To assign file share permissions by using Computer Management:
Select and hold (or right-click) Start and select Computer Management.
In the console tree, select System Tools > Shared Folders > Shares.
Select and hold (or right-click) and select New > Share.
In Create A Shared Folder Wizard, select Next.
For Folder path, enter D:\SymStore\Symbols, and then select Next.
Select Next.
In Shared Folder Permissions, select Customize permissions, and then select Custom.
In Share Permissions, select Everyone, and then select Remove.
Select Add and enter the users or groups you want to access the file share.
For each user or group you add, select Allow to assign Full Control, Change, or Read permissions.
Select Apply, and then select OK.
Select Finish twice.
Test the SMB file share
Configure a debugger to use this symbol path:
srv*C:\Symbols*\\MachineName\Symbols
To view the location of the PDBs that are referenced in the debugger, use the lm
(list modules) command. The paths to the PDBs should all begin with C:\Symbols
.
To see logs of symbol and image downloads from the \\MachineName\Symbols file server to C:\Symbols, run !sym noisy
and .reload /f
.
Set the file share symbol path
To configure your debugger’s symbol path (.sympath
) to use a file share, you have multiple options. The syntax of the symbol path determines whether the symbol file is cached locally and where it's cached.
Direct file share use (no local caching):
srv*\\MachineName\Symbols
Local caching of the file share’s files to a specific local folder (for example, to C:\Symbols):
srv*C:\Symbols*\\MachineName\Symbols
Local caching of the file share’s files to the %DBGHELP_HOMEDIR%\Sym folder:
srv**\\MachineName\Symbols
The second "*" in this example represents the default local server cache. For more information about setting the symbol path and use of the local cache, see Symbol path for Windows debuggers.
If the DBGHELP\_HOMEDIR
variable isn't set, DBGHELP\_HOMEDIR
defaults to the debugger executable folder (for example, to C:\Program Files\Windows Kits\10.0\Debuggers\x86) and caching occurs in C:\Program Files\Windows Kits\10.0\Debuggers\x86\Sym.