Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How operate and update a symbol server for Microsoft Windows on a closed network?

Background

When working on a closed network (i.e. no internet connection), Microsoft's public symbol server isn't available during my debugging sessions. I'm most interested in the debug symbols for the Windows system libraries and the C-runtime libraries (e.g. kernel32.dll, mscvrt100.dll).

I've created a debug symbol server on the closed network and "seeded" it with the debug symbol packages from here. The problem is that as Windows updates, some binaries need to get updated symbols. I don't know of any place where these are "neatly" bundled for download. The only option I'm aware of is to use symchk to download symbols for everything in the Windows/system32 directory on the machine that will be used for debugging which is tedious and time consuming.

Question

How do you operate and update a symbol server for Microsoft Windows on a closed network? Is there any way to "mirror" say, all of the Windows debug symbols such that you get the symbols for not just the releases and service packs but also the hotfixes and rollups?

like image 381
Zach Burlingame Avatar asked Sep 19 '11 12:09

Zach Burlingame


People also ask

What is symbol path in WinDbg?

The symbol path specifies locations where the Windows debuggers (WinDbg, KD, CDB, NTST) look for symbol files. For more information about symbols and symbol files, see Symbols. Some compilers (such as Microsoft Visual Studio) put symbol files in the same directory as the binary files.


1 Answers

Another option to populate your 'closed network symbol' store is to use symchk this way :

  • go on the target machine (the one you want the symbols). Install windbg and run the command symchk /r c:\windows\*.dll /om c:\symbols.txt

  • on a machine connected to the internet, retreive the symbols.txt file generated and use the same symchk : symchk /im c:\temp\symbols.txt

In the first step, symchk will generate a text file with the signatures of the binaries of the target machine. In the second step, this list is read and symchk actually retreives the pdb files from the Microsoft Symbol Server.

like image 118
Thierry Franzetti Avatar answered Nov 15 '22 05:11

Thierry Franzetti