For your sake and the sake of your co-workers, I also suggest setting up an
internal symbol server that you copy all of these things to so that you
won’t have to deal with it in the future. As you all contribute random PDBs
to it you’ll hopefully eventually run into this less and less. See the
documentation for symstore in the WinDBG help for more details.
+1
I more often than not may not be connected to the internet for work I do, and this is by far the best way to go, in my opinion.
You can ‘prime’ this operation by download symbol packs, though in practice I usually run a program I wrote that profiles the hard drive of a target, looking for the matching pdb information in the PE headers and uses it to generate a text file that contains the necessary urls to pull everything from the msft symbol server. I then use that text file on an internet connected machine to download everything, and then push those files to either a symbol directory (formatted as symbol server would), or an internal symbol server.
Kind of a pain, but not having matching symbols is a huge problem, and having to download them as needed can be a pain.
Good luck,
mm
-----Original Message-----
From: xxxxx@lists.osr.com [mailto:xxxxx@lists.osr.com] On Behalf Of Scott Noone
Sent: Wednesday, March 30, 2011 11:45 AM
To: Windows System Software Devs Interest List
Subject: Re:[ntdev] wdf01000.pdb
Not having internet access on your development machine is fairly common
practice these days, I come across it with LOTS of the students that I
teach. It does cause issues when it comes to symbols though. In a lot of
cases it’s basically the ONLY way to get symbols for images, so it’s
definitely a speed bump when you’re just trying to get your work done.
Everything suggested here will work. In addition, WinDBG will let you open
individual executable files and that can be a fast way to grab symbols for
something. Just copy the SYS file to a system connected to the internet with
WinDBG installed and open the SYS file the same way you would open a crash
dump. You can then use the “lmv” command to see the path to the PDB that was
downloaded.
If this is a constant issue for you and you would like to automate this, see
the dumpstk (“stack”, not “stick” :)) sample in the debugger SDK. This shows
how to open something as a crash dump in a standalone application, so you
wouldn’t even need to use WinDBG.
For your sake and the sake of your co-workers, I also suggest setting up an
internal symbol server that you copy all of these things to so that you
won’t have to deal with it in the future. As you all contribute random PDBs
to it you’ll hopefully eventually run into this less and less. See the
documentation for symstore in the WinDBG help for more details.
Good luck!
-scott
–
Scott Noone
Consulting Associate and Chief System Problem Analyst
OSR Open Systems Resources, Inc.
http://www.osronline.com
NTDEV is sponsored by OSR
For our schedule of WDF, WDM, debugging and other seminars visit:
http://www.osr.com/seminars
To unsubscribe, visit the List Server section of OSR Online at http://www.osronline.com/page.cfm?name=ListServer