7

I'm attempting to use the profiler in Visual Studio 2012 to analyze memory performance of a mixed C#/C++ application. While I do get data back, it doesn't show me class names - instead, it just appears to be some sort of address, such as 0x0200004C instead of String. Any idea what's happening here?

EDIT: To anyone curious - perhaps this was a bug in Visual Studio 2012, or perhaps something strange in my VS 2012 configuration, but ever since I upgraded to Visual Studio 2013, the issue has disappeared. I'll leave this open just in case someone stumbles upon it with a solution to fix VS 2012, but one answer would be "Install VS 2013".

Deeko
  • 1,514
  • 9
  • 29
  • 2
    Did you set the right path of your pdb files? – Matt Oct 23 '13 at 15:22
  • I believe it's set correctly - when I am in allocation view, it can properly display the code paths, just not the class names. Is there something specific I need to set for this? – Deeko Oct 23 '13 at 15:30
  • Nothing specific. Do you download the MS symbols? – Matt Oct 23 '13 at 15:32
  • Yep. Under Symbol file locations, I have specified 'Microsoft Symbol Servers', 'MicrosoftPublicSymbols*http://msdl.microsoft.com/download/symbols', and my local debug path. – Deeko Oct 23 '13 at 15:36

1 Answers1

0

According to this and this it is possible some of the code is confusing the symbols.

What I suggest you try is

1) Test with project setting x86 and x64 (C# and C++), change C++ platform tool set, C++ compilation flags from managed

2) Divide the solution/projects and find the code class or struct name most likely that is duplicated or conflicts with some other name, consider adding a prefix/suffix to everything per section first to see if this is the case.

Community
  • 1
  • 1
Alexandru Lache
  • 477
  • 2
  • 14