Profiler fails to resolve symbol and module names
Hi. It seems this is a comman subject, it looks like I'm having problems resolving symbols. Whats happening is after I collect instrumentation performance data, the results show hexadecimal numbers for the module and symbol names. I was wondering if, given what I've tried, someone can offer some advise.
Its a tough scenario to setup as the assembly is signed and I'm running on an x64 machine. Here's my notes on what I've done. Not that I've substitued <projectPath> and <projectName> below for the actual values.
The following configuration steps were done:
- Tools -> Options -> Performance Tools -> "Automatically serialize symbol information" is set.
- Tools -> Options -> Debugging -> Symbols:
- Added "http://msdl.microsoft.com/download/symbols/error.htm" as a symbols path".
- Set "c:\temp\symbols" as location to cache symbols from symbols server, created that directory.
- Added "<projectPath>\bin" to symbols path
- Added C:\Windows\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\root\ to symbol path
- Added C:\Windows\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\root\6bb408f1\991e2ec4 to symbol path
- Modified Solution Properties -> Configuration (Active Build) Platform to be x86 (this is an x64 machine, and initially the project was built x64)
- Added post-instrumentation step "C:\Program Files\Microsoft SDKs\Windows\v6.0A\Bin\sn" -Ra "C:\<projectPath>\bin\<projectName>.dll" "C:\<projectPath>\key.snk"- I've removed the filter from Performance Reports Summary.
The following steps were used in each capture attempt:
1. Rebuild full application (sometimes I get empty results if I don't don't rebuild first, it seems)
2. Launched with Profiling paused (I still get a dialog warning that the assembly needs to be resigned, the output indicates calling sn.exe to resign the assembly succeeded)
3. Ran some pages on the site
4. Started profiling
5. Ran the same pages on the site
5. Stopped ProfilingThe following results were copied from the output:
Profiler started
Instrumenting C:\<projtectPath>\\bin\<projectName>.dll in place
Info VSP3049: Small functions will be excluded from instrumentation.
Microsoft (R) VSInstr Post-Link Instrumentation 9.0.21022 x86
Copyright (C) Microsoft Corp. All rights reserved.
File to Process:
C:\<projectPath>\bin\<projectName>.dll --> C:\<projectPath>\bin\<projectName>.dll
Original file backed up to <projectPath>\bin\<projectName>.orig
Warning VSP2001 : <projectPath>\bin\<projectName>.dll is a strongly named assembly. It will need to be re-signed before it can be executed.
Successfully instrumented file <projectPath>\bin\<projectName>.dll.
Warning VSP2013 : Instrumenting this image requires it to run as a 32-bit process. The CLR header flags have been updated to reflect this.
Running Post-Instrument Step
Microsoft (R) .NET Framework Strong Name Utility Version 3.5.21022.8
Copyright (c) Microsoft Corporation. All rights reserved.
Assembly '<projectPath>\bin\<projectName>.dll' successfully re-signed
Instrumentation Succeeded:C:\Windows\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\root\6bb408f1\991e2ec4\App_global.asax.kcwn0-rc.dll
Successfully attached to process: 3972
Instrumentation Succeeded:C:\Windows\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\root\6bb408f1\991e2ec4\App_Web_rjoomvqw.dll
Instrumentation Succeeded:C:\Windows\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\root\6bb408f1\991e2ec4\App_Web_byevpghe.dll
Instrumentation Succeeded:C:\Windows\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\root\6bb408f1\991e2ec4\App_Web_npll57va.dll
Instrumentation Succeeded:C:\Windows\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\root\6bb408f1\991e2ec4\App_Web_zxrobwhf.dll
Instrumentation Succeeded:C:\Windows\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\root\6bb408f1\991e2ec4\App_Web__1ksjm1h.dll
VSPerformance Automation warning: Warning VSP2348 : 2 buffer(s) lost in association with process 3972.
Exited from process: 3972
Collection file exited: C:\ASM_ITMonitoring\ESM_ITMonitoring\ESM Portal\LCATOMRD080601(9).vsp
Profiler exited
Analysis completed successfully
===================== Profiling Complete =====================I have a couple guesses of what is going wrong:
- Perhaps symbols are loading for my DLL, but the sampled data is only being collected for other components I don't have symbols for.
- Some DLLs are being instrumented/ran from a temporary folder used by ASP.NET, maybe this is confusing the debug symbol lookup (though I added this path to my symbols paths, and it seems the same temporary path is being used on every run)
Answers
fschwiet wrote: - Added "http://msdl.microsoft.com/download/symbols/error.htm" as a symbols path".
That is not the correct public symbol server URL to use. Please use http://msdl.microsoft.com/download/symbols
Regards,
Chris
All Replies
I forgot to mention I am doing this on VSTS 2008.
fschwiet
Sorry for the late reply. If you create a new web site, does the same thing hapen? Have you tried to clear the corresponding folder in tempary ASP.NET files? And how can I reproduce this issue?
fschwiet wrote: - Added "http://msdl.microsoft.com/download/symbols/error.htm" as a symbols path".
That is not the correct public symbol server URL to use. Please use http://msdl.microsoft.com/download/symbols
Regards,
Chris
- As the users of Panasonic HDC-DX3,we will have problems to make our mts files to youtube.com.Now I find the MTS Video Converter to convert mts files to FLV. Then we can share our videos with our friends on youtube.com.
_________________
More powerful HD Video Converter and Rip Blu Ray
Thanks a lot


