Contact

admin

About Me · Send mail to the author(s) E-mail · Twitter

At GROSSWEBER we practice what we preach. We offer trainings for modern software technologies like Behavior Driven Development, Clean Code and Git. Our staff is fluent in a variety of languages, including English.

Feed Icon

Tags

Open Source Projects

Archives

Blogs of friends

Now playing [?]

Error retrieving information from external service.
Audioscrobbler/Last.fm

ClustrMap

Minimal Debugging Tools for Windows Installation for Symbol Server Support

Posted in Debugging | Windows at Monday, October 09, 2006 6:11 PM W. Europe Daylight Time

Dr. WatsonScott Hanselman recently wrote about the Debugging Tools for Windows and their usefulness in conjunction with Process Explorer. Today I needed the Debugging Tools on a server where an ASP.NET application was running with 100% load on one CPU core with lots of context switches.

When you open Process Explorer's Threads tab for a certain process, Process Explorer will approximate function names and display offsets if the Debugging Tools are not installed. When Process Explorer is configured to use the Debugging Tools and Microsoft Symbol Servers it will display actual function names instead of obscure offsets.

Offsets in Process Explorer Function Names in Process Explorer
Offsets Function Names

Being the kind of guy I am, I opted for a minimal installation of the Debugging Tools, that is just the "Tools" and "Helpful Tools" branches displayed in the installer. This also installs dbghelp.dll which is needed for Symbol Server support. After setting the NT symbol path environment variable and pointing Process Explorer to %ProgramFiles%\Debugging Tools for Windows\dbghelp.dll everything should have worked. So I opened Process Explorer, displayed the properties of some process, opened the Threads tabs …and saw function offsets.

What happened? After some Filemon investigation I found that the symbol path wasn't touched by Process Explorer, no PDBs were downloaded and thus just offsets could be displayed. I got the idea that some Debugging Tools component was missing and installed the full package. Lo and behold, the function names were shown!

After playing around I found that the only component you need install to get Symbol Server support is the "Debuggers" branch. This will also get you WinDbg, a basic yet powerful debugger for Windows with plugin support. Mental note: Try WinDbg.

Aren't these the tools from the basement, Torsten? :-)

Sunday, January 31, 2010 2:28:20 PM (W. Europe Standard Time, UTC+01:00)
I just investigated this and you don't even need that much. Once you have access to the Debugging Tools files it's enough to do the following:

* Put dbghelp.dll and symsrv.dll in the same folder as Process Explorer.
* Make sure that that dbghelp.dll is set in the symbol configuration
* Use the usual symbol path: srv*c:\symbols*http://msdl.microsoft.com/download/symbols - adjust the c:\symbols to your liking, you can use a UNC to a folder if you want to share a cache

This is useful if you want to be able to use Process Explorer on various machines to check the maximum pool sizes without installing Debugging Tools all over the place.
Yitzchok
All comments require the approval of the site owner before being displayed.
(will show your gravatar icon)
 
[Captcha]Enter the code shown (prevents robots):

Live Comment Preview