locked
Allocation call stack symbols missing in snapshots RRS feed

  • Question

  • Using the 'Diagnostic Tools' of Visual Studio 2015 it is possible to create memory snapshots and compare them. In the snapshot view, it is possible to select memory allocation instances to see their 'Allocation Call Stack'.

    This call stack shows incomplete information, some of the entries don't contain the function names (e.g. myapp.exe!MyApp::Foo() - Line 123) but only contain the address of the function (e.g. myapp.dll!0x12131415()). It even happens that functions of a module are shown fine in one callstack and are not resolved in another one. This makes the memory diagnostic useless for me, as I cannot see the allocation stack.

    All modules are C and C++ DLLs and EXEs and are being built with one solution in Debug mode. The 'Modules' window shows that all symbols of all modules are loaded as expected, so I assume there's an error in the symbol resolver used for the 'Allocation Call Stack' window.

    Monday, September 21, 2015 2:55 PM

Answers

All replies

  • Hi rhabarbersaft,

    >> some of the entries don't contain the function names (e.g. myapp.exe!MyApp::Foo() - Line 123) but only contain the address of the function (e.g. myapp.dll!0x12131415()).

    Could you share me a screen shot about this issue? Do you mean that you get the result like the following screen shot?

    It seems that some types really cannot be determined due to lack of symbols, or due to the use of custom allocators, and it was a real issue the product team member also got it about ""Hide Undetermined Types" View Setting" in this blog:

    http://blogs.msdn.com/b/vcblog/archive/2014/11/21/native-memory-diagnostics-in-vs2015-preview.aspx

    If I have misunderstood this issue, please feel free to let me know.

    Best Regards,

    Jack


    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click HERE to participate the survey.

    Wednesday, September 23, 2015 8:56 AM
  • Hi Jack,

    • there are no custom allocators in use, only malloc() and new are used
    • the symbols of all DLLs and EXEs of the callstack are loaded (not the symbols of the CRT / Windows DLLs though)


    It's not like in your screenshot, as your application only consists of one single executable, but in my case the callstacks always reach through at least one executable and one DLL. It seems that only the symbols of the topmost module in the callstack are displayed, the symbols of all other modules in the call stack are not being displayed.

    Also, disabling the 'Hide Undetermined Types' setting did not change anything.

    One more interesting observation: when loading the symbols of all modules using the Microsoft Symbol Server and then looking at the call stack, no symbol is shown at all. I had to delete the symbol cache and restart Visual Studio to have at least some of the symbols resolved again.

    The screenshot shows the behaviour:

    • same color means same module
    • it's two callstacks of the same snapshot diff
    • on the left only symbols of red are resolved, on the right only symbols of green

    Hope this helps



    • Edited by rhabarbersaft Wednesday, September 30, 2015 8:50 AM added comment about Hide Undetermined Types
    Wednesday, September 30, 2015 8:48 AM
  • Hi rhabarbersaft,

    Thanks for your friendly response.

    >>One more interesting observation: when loading the symbols of all modules using the Microsoft Symbol Server and then looking at the call stack, no symbol is shown at all. I had to delete the symbol cache and restart Visual Studio to have at least some of the symbols resolved again.

    So you mean that it worked better if you delete the symbols cache and restart the VS, am I right? If so, open the debug modules windows, whether all symbols loaded well? Please also run your VS as the admin, how about the result?

    To make sure that it is not the user issue, could you get the same issue in other windows? If you add a new user profiler in this windows, and then test it using the new user, how about the result?

    If still no help, to really repro this issue, would you mind sharing me a simple sample using one drive? I will download and debug it in my side using the same Environment as yours.

    If there's any concern, please feel free to let me know.

    Best Regards,

    Jack


    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click HERE to participate the survey.

    Thursday, October 1, 2015 7:31 AM
  • - It works only if I don't have symbols of Microsoft DLLs loaded, after letting VS load all symbols automatically it showed no symbols anymore at all

    - I ensured multiple times that the symbols of all concerned DLLs and EXEs were loaded

    - As you can see in the screenshot, sometimes symbols of DLL A are shown and sometimes the symbols of DLL B

    - Same problem on another computer, also with Windows 10 and VS 2015

    It seems like it can only show symbols of the first DLL or EXE in the callstack, symbols of all other modules are not resolved.

    You can download a really simple example at Dropbox, you will need CMake to build it.

    Thursday, October 1, 2015 4:22 PM
  • Hi rhabarbersaft,

    To get the issue confirmed and diagnose by product team, would you please create connect report for it? You will get email notification for update.http://connect.microsoft.com/VisualStudio/feedback/CreateFeedback.aspx

    If you submit the report, please share me the link here, I will debug it later after I setup the same Environment as yours, if I get the same issue, I will help you vote your connect report.

    Sincerely,

    Jack


    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click HERE to participate the survey.

    Friday, October 2, 2015 10:23 AM
  • Friday, October 2, 2015 12:05 PM
  • Same problem here on Windows 7
    Friday, October 2, 2015 1:52 PM