Community
cancel
Showing results for 
Search instead for 
Did you mean: 
james_chaldecott
Beginner
158 Views

Does VTune support Symbol Servers?

Jump to solution
Does VTune 9.0 support retrieving debug symbols for system binaries from the Microsoft Symbol Server?

If it doesn't support it directly, is there anyway to get it to load symbols that have already been downloaded from the SYmbol Server and are in the local cache directory?

I've got _NT_SYMBOL_PATH set to "symsrv*symsrv.dll*C:symbols*http://msdl.microsoft.com/download/symbols". I've also set up VS2005 the same way (symbols from "http://msdl.microsoft.com/download/symbols" cached to "C:symbols").

I've tried adding "C:Symbols" to the The cache directory definitely contains symbols for some dlls that VTune is still only seeing the exports for (e.g. mscorwks.dll).

Cheers,

James
0 Kudos
1 Solution
David_A_Intel1
Employee
158 Views
BTW, I don' know if everyone noticed, but version 9.1 Update 1 added support for Microsoft symbol server! Woohoo! We've been asking for this for years, as was mentioned. Hope you enjoy it as much as I do!! ;-)

View solution in original post

7 Replies
David_A_Intel1
Employee
158 Views
No. The VTune analyzer does not support Microsoft* symbol server today.
james_chaldecott
Beginner
158 Views
Oh. That's pretty disappointing. :-( AFAIK, the public Symbol Server has been the primary way that microsoft have distributed symbols for years now. It's basically the only way of getting up to date symbols.

Do you know how to get manually set-up symbols for the .Net framework so that VTune can find them? Do I need to copy all the individual pdb files in my symbol server cache to a single directory?

James
David_A_Intel1
Employee
158 Views
If the PDB files are available on the host system, you should be able to configure the VTune analyzer to look for them. See the Options dialog (from Configure menu), on the Directories property page. Select File type of Symbols and specify the directory/directories.
james_chaldecott
Beginner
158 Views
Will VTune recurse directories when looking for symbols? I tried just specifying the root directory of my symbol cache (generated by by symsrv), but it didn't seem to work.

In case you've not seen the layout, the cache looks like this (output of "dir /B /S /A-D"):

C:symbolspingme.txt
C:symbols sc.txt
C:symbolsADVAPI32.dll411096A79b000ADVAPI32.dll
C:symbolsadvapi32.pdb455D6C5F184D45BBB5C5F30F829751142advapi32.pdb
C:symbolsapphelp.pdb�370CEDB12904493A902B6993666835C2apphelp.pdb
C:symbolscabinet.pdb4CBCCCF54C55476FB24F62D454BF02892cabinet.pdb
C:symbolscomctl32.pdbC8EC4F392822448D8560DC2A0D0B56392comctl32.pdb
C:symbolscredui.pdbCC964DB296404D10A01C4A7020579A351credui.pdb
C:symbolscrypt32.pdb4087B6738F3B4A1AA9C545877746B8892crypt32.pdb
C:symbolsdhcpcsvc.pdbC08D8BF538F64A9DBDB5CB7AFB8D1C222dhcpcsvc.pdb
C:symbolsdnsapi.pdb876268F226A44B3C97D8F17BD78A4D352dnsapi.pdb
C:symbolsframedyn.pdb1E712D8553314EB0AEE7478BD433F2C31framedyn.pdb
C:symbolsgdi32.pdbBE34319F0344491ABFD2A7BAC3D1690E2gdi32.pdb
C:symbolshalmacpi.pdbCC9A48CD49CA45128EC9A7F50B61FAD71halmacpi.pdb
C:symbolshidserv.pdb5D76084B63634858AE215B5070A41B271hidserv.pdb
C:symbolsiertutil.pdbD6EFB164478743F99C8DC702B667046E2iertutil.pdb
C:symbolsimagehlp.pdb4465C055817C49D1B3847454985127072imagehlp.pdb
C:symbolsimm32.pdb2C17A49C251B4C8EB9E2AD13D7D9EA162imm32.pdb
C:symbolsISymWrapper.pdbECE1F92841CA4AE297E37D0B6B86C63B1ISymWrapper.pdb
C:symbolskernel32.pdbCE65FAF896A046629C9EC86F626344302kernel32.pdb
C:symbolslpk.pdbC8E0E10EECAB4E90A1D1E442AF0AD0001lpk.pdb
C:symbolsMFC80D.i386.pdbA12C75C3E6A244E3B3BFBE577AB27642eMFC80D.i386.pdb
C:symbolsMFC80U.i386.pdbEE46DF4E019A4A70AD51A614C8C90F81dMFC80U.i386.pdb
C:symbolsMFC80UD.i386.pdb212B6D5809E7410CB08139419AA07F47eMFC80UD.i386.pdb
C:symbolsMicrosoft.Cci.pdb15F4D3739D16430494EF6776CD4AA3DA1Microsoft.Cci.pdb
C:symbolsMicrosoft.VisualStudio.DebuggerVisualizers.pdbCEA94412568C4D5384386DD7776D69CD1Microsoft.VisualStudio.DebuggerVisualizers.pdb
C:symbolsMicrosoft.VisualStudio.HostingProcess.Utilities.pdb2970914367304DFD9C675FB0B3DBEA121Microsoft.VisualStudio.HostingProcess.Utilities.pdb
C:symbolsMicrosoft.VisualStudio.HostingProcess.Utilities.Sync.pdb85C2DF0AFCC740A2AADA9F3C5C8E4FC81Microsoft.VisualStudio.HostingProcess.Utilities.Sync.pdb
C:symbolsMicrosoftWindowsCommon-Controls-6.0.2600.2982-comctl32.pdbC0A72EE9578847AAB7770CF02FFED0941MicrosoftWindowsCommon-Controls-6.0.2600.2982-comctl32.pdb
C:symbolsmsasn1.pdb754C967792684AA899268F9F0C20F35E2msasn1.pdb
C:symbolsmscoree.pdb19DFD5C24EC64B7D8BDEC25490A6F4292mscoree.pdb
C:symbolsmscorlib.pdb794615FA3F9941D2AE0C944934BEEFCC1mscorlib.pdb
C:symbolsmscorwks.pdb6D3E0DE91A284256A48A60718DC9CDEB2mscorwks.pdb
C:symbolsmscorwks.pdb6D3E0DE91A284256A48A60718DC9CDEB2 sc.txt
C:symbolsmsctf.pdb27CE4025AEE44B569B9ED28F7B4E15E32msctf.pdb
C:symbolsmsctfime.pdbECE04C0393764AD0B3E9658C0D8BA88D1msctfime.pdb
C:symbolsMSLBUI.pdb4E81FE42174246F38BC58280403DD7801MSLBUI.pdb
C:symbolsmsvcm80d.i386.pdb588BAACF497F4EDDA2F0CE8C610DA9DC1msvcm80d.i386.pdb
C:symbolsmsvcp60.pdb�5634FA32C174AF59217BF843193D0A42msvcp60.pdb
C:symbolsmsvcr80.i386.pdb325121EDEC7C4D62B0DC6FD5CA9080F91msvcr80.i386.pdb
C:symbolsmsvcr80d.i386.pdb8E046EEEF CBD4D949664C00D316DF6001msvcr80d.i386.pdb
C:symbolsmsvcrt.pdbA678F3C30DED426B839032B996987E381msvcrt.pdb
C:symbols dis.pdb42ED3DC0817A4246B157736BBAF668742 dis.pdb
C:symbols etapi32.pdb2F9CD2C174C847FB93E47CF88087B0132 etapi32.pdb
C:symbols ewdev.pdbF5D8E4E900984E75A5977E2745B93D051 ewdev.pdb
C:symbols tdll.pdb36515FB5D04345E491F672FA2E2878C02 tdll.pdb
C:symbols tkrnlpa.pdbCF7B79A8CE864FCF8ABF248F0B69F4C91 tkrnlpa.pdb
C:symbolsNtkrpamp.exe45E5484A20b000Ntkrpamp.exe
C:symbols tkrpamp.pdb176A183ABE1E46FEBCEFCCE79427EF8F1 tkrpamp.pdb
C:symbolsole32.dll42E5BE9313d000ole32.dll
C:symbolsole32.pdb683B65B246F4418796D2EE6D4C55EB112ole32.pdb
C:symbolsoleaut32.pdb7B6648D6338B4FA79A1B8480A3C0171A2oleaut32.pdb
C:symbols pcrt4.pdb4FAFF90806134E6BB0CA3FF0FDADDA0D2 pcrt4.pdb
C:symbols saenh.pdbB0FBD2BF01DA4606BC225E22B95A63A81 saenh.pdb
C:symbolsschedsvc.pdb8D34A712BCE84C2BBC4A6E5A80E8ED471schedsvc.pdb
C:symbolssecur32.pdb85DD72BF4CAD42EFB989699A8B082F1D2secur32.pdb
C:symbolssetupapi.pdbB088BF8A977643268B32931FF2715FAB2setupapi.pdb
C:symbolssfc_os.pdbB3E6D2F4E9DA48E9A846828B3D07D2931sfc_os.pdb
C:symbolsshell32.pdb71175444C6E24EF6B1AE25213A9547ED2shell32.pdb
C:symbolsshlwapi.pdb70D89625746E4F17A9A31D5AFAB51B3E2shlwapi.pdb
C:symbolssrclient.pdbCF233E2B73EF4C22B4D9D60FBDA0BC0B1srclient.pdb
C:symbolssrvsvc.pdb909C795A83D84417BE8D5FF813613B432srvsvc.pdb
C:symbolssvchost.pdb7A7C3A1924034C389AE3E5DCB0C69C492svchost.pdb
C:symbolsSystem.Configuration.pdbD65979D1BECF458C9292190A2D5231221System.Configuration.pdb
C:symbolsSystem.Data.SqlXml.pdb650B8038ABDA449EB06D9FE5647224AF1System.Data.SqlXml.pdb
C:symbolsSystem.Drawing.pdbD7FA86C3C68C45B888D5FD6172202B221System.Drawing.pdb
C:symbolsSystem.pdbF848691F0FB9478484E0A54F361699561System.pdb
C:symbolsSystem.Windows.Forms.pdb649C2867D694460E95FC16384A0D711B1System.Windows.Forms.pdb
C:symbolsSystem.Xml.pdbB7AEFB14775C457582B82DB7DD25B4FE1System.Xml.pdb
C:symbolsuser32.pdb92D15332471547DCA0D75061B8B6CDA42user32.pdb
C:symbolsuserenv.pdbC72199CE55A04CD2A965557CF1D97F4E2userenv.pdb
C:symbolsusp10.pdb14C8D7F8AB3C48A4B95A73BAC9A6B02C1usp10.pdb
C:symbolsuxtheme.pdbB982B8FE390B4359AD3CCECC16C0D59F2uxtheme.pdb
C:symbolsversion.pdb180A90C40384463E82DDC45B2C8AB76E2version.pdb
C:symbolsvshost.pdb1B8065EC62CF44EBB56542B35A47C7071vshost.pdb
C:symbolsWdf01000.pdb824746676E3E40DAB196832C3EA41D781Wdf01000.pdb
C:symbolsWdfCoInstaller01005.pdb�8D89A38C13745B78355FE2A6FD66B591WdfCoInstaller01005.pdb
C:symbolswin32k.pdb�D7F2AA78FCB4657914E6E65375BE5012win32k.pdb
C:symbolswininet.pdbF0B6025C13A34693B1AA37AC81EA0AF42wininet.pdb
C:symbolswintrust.pdb76353CA55D26434EADB683201DA78B032wintrust.pdb
C:symbolswzcsvc.pdb422DB1706C0E4E8DA3E1B13AF1AFD4281wzcsvc.pdb

There can be more than one file with the same name in there (in different directories) if the debugger has been used with different versions of the same file (e.g. before & after a system update).

AFAIK, using symsrv.dll to load symbols (and thus support symbol servers) isn't all that hard. Some of the SysInternals utilities do it (e.g. Process Explorer). Is there any chance of supporting this in a future version?

I must say that I'd just assumed this would work. IIRC, Visual Studio h as supported symbol servers since Visual Studio 2002.

James
David_A_Intel1
Employee
158 Views
If you select the directory in the VTune analyzer property page, there is a check box near the bottom of the page that allows you to specify that the directory should be recursed.

ptr727
Beginner
158 Views

We've been asking for symbol server support for years.

Fordevelopers of a developer tool not to support symbol servers seems very stone age development like ;)

I really hope we can get symbol server and source server support soon, in all the tools we use VTune is the only tool that still requires us to pre-download symbols.

P.

David_A_Intel1
Employee
159 Views
BTW, I don' know if everyone noticed, but version 9.1 Update 1 added support for Microsoft symbol server! Woohoo! We've been asking for this for years, as was mentioned. Hope you enjoy it as much as I do!! ;-)

View solution in original post

Reply