Community
cancel
Showing results for 
Search instead for 
Did you mean: 
Mark_Van_Wijk
Beginner
101 Views

Missing method names with any cpu compiled .NET assemblies

Jump to solution
Hello,

I'm using VTune Amplifier XE 2011 update 3. I tried profiling various applications and unfortunately for all assemblies compiled as AnyCPU i'm not seeing methodnames in the stacks/profiling output. I created some other exe, and indeed if compiled as any cpu profiling did not yield method names,
compiled as explicitly x86 or x64 did generate the nice method names.

Is there a known solution or workaround for this issue? As generally recompiling all these assemblies (many third party) will not be a solution.

Regards,
Mark
0 Kudos
1 Solution
David_A_Intel1
Employee
101 Views
Hi Mark:

The developer has reproduced the problem and is investigating a fix. For some reason, when the C# DLL is dynamically loaded using the reflection API, VTune Amplifier XE doesn't get the name of the DLL and so inserts a null name, causing it to be included in the [Dynamic Code] pseudo-module.

I'll update this thread when a fix is available.

View solution in original post

4 Replies
David_A_Intel1
Employee
101 Views
Please try the latest update (Update 7) as there were many improvments in our .NET support between Update 3 and Update 7. Also, please let us know if that resolves your problem.
Mark_Van_Wijk
Beginner
101 Views
Hello,

I have retried with update 7, for a simple standalone executable it is now working OK, however, the code I actually want to profile uses a more complex setup and there I still get the

[Dynamic code]![0@] - [Unknown]
[Dynamic code]![0@]+0x36d281 - [Unknown]
[Dynamic code]![0@]+0x33828d - [Unknown]


Multiple assemblies are there loaded using for example loadfrom, the code intercepts assembly not found events and then probes itself for the assemblies in various well known directories.
This allows independent directories for multiple versions of the software and both xcopy deployment as easy swapping of versions of used libraries.

All are compiled reease though with pdb generated (same as the earlier mentioned standalone program)

So at this point I can stil not use Amplifier XE for my production code.

Regards,
Mark
Mark_Van_Wijk
Beginner
101 Views

I also tried the Lightweight hotspot analysis here I do get all my method names, though as these are not related according call stacks, just a flat list of methods, I cannot see what is actually happening, so it will only provide methods that are, maybe expensive, though their usage wil remain a mystery.
Without call stack/context I do nog have enough inputs to easily find bottlenecks.

David_A_Intel1
Employee
102 Views
Hi Mark:

The developer has reproduced the problem and is investigating a fix. For some reason, when the C# DLL is dynamically loaded using the reflection API, VTune Amplifier XE doesn't get the name of the DLL and so inserts a null name, causing it to be included in the [Dynamic Code] pseudo-module.

I'll update this thread when a fix is available.

View solution in original post

Reply