Symbol Resolution on .NET 4.0 NGEN x64 assembly not working

My symbol resolution on an x64 NGEN .NET 4.0 assembly it not working.

Details:

I have a .NET 4.0 command line assembly that I am compiling using Visual Studio with an x64 configuration. After I compile, I run NGEN (The 64 bit version) on it.

Having failed with XPERF analysing the callstacks (with -stackwalk profile) which won't resolve my symbols. I am now trying Perfmonitor from here: http://bcl.codeplex.com/releases/view/42784

I have done these steps and would have expected the call stacks to resolve:

  • Start the NGEN'ed x64 app
  • PerfMonitor Collect
  • Perfmonitor Merge
  • Perfmonitor Analyze

... Unfortunately, the stack traces don't work in PerfMonitor either.

I also tried running the app as a 32-bit - same issues. My symbols check out fine with symchk /v

I am at a loss on how to debug this broken stack trace functionality.

Answers


Not sure if I understand correctly, but you need to generate profilable NGEN 'assemblies'.

IOW: ngen install ass.dll /profile


You need the xperf Version from the Windows 8 SDK. This version supports .net. Start a trace with the new Performance Recorder UI and this tool generates PDBs for ngened .net components so that xperfview and WPA can decode the callstack.


Need Your Help

Machine architecture or computer architecture

architecture

Please what is the difference between machine archictechture and computer architechture . Berkley give a webcast on machine architecture and I am thinking it might be related to computer architectu...

LinearLayout weightsum not working with image

android android-layout android-linearlayout android-layout-weight

I have a LinearLayout with weightSum 10 which has 2 child LinearLayout with layout_weight 4 and 6. It works fine when background is color or nothing. But the problem occurs when I set a background ...