C++ Debugger visualizer (natvis file) : Display the most derived class


  •      Hi,

    I'm migrating the class visualizer from autoexp.dat (VS 2008) to the new format in VS 2012 (.natvis file).

    I have a problem, I can't find any solution to display the most derived type for an object display in the Watch panel.

    With the autoexp.dat file, the syntax is simple : "MyInterface =<,t>".

    But with natvis file, I try lot of syntax, watch on Microsoft documentation, but I don't find any solution.

    In VS 2008, with the syntax "<,t>", when you display a pointer on a class ("MyInheratedClass") which inherit from "MyInterface", the debugger display the pointer address and and the most derived type "{MyInheratedClass}". I want the same feature with VS 2012, using the natvis file.

    Can anyone help me to find the good syntax with natvis ?



    Tuesday, January 8, 2013 12:12 PM


All replies

  • Hi François,

    I am trying to involve someone familiar with this topic to further look at this issue. There might be some time delay. Appreciate your patience.

    Best Regards,

    Jack Zhai [MSFT]
    MSDN Community Support | Feedback to us
    Develop and promote your apps in Windows Store
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.

    Thursday, January 10, 2013 2:17 AM
  • I don't have any further information on this. Queries to internal alia haven't shaken anything loose so it looks like it's not supported in the .natvis syntax. I'd recommend creating a feature request bug at
    Wednesday, January 23, 2013 12:44 AM
  •     Hy,

    thank you for the answer. It's a pity that this great feature has disappear.

    I will create a request for the futur version.



    Thursday, January 24, 2013 2:08 PM
  • .natvis uses new keyword : type

    e.g. below will show actual drived class in base class.


    Tuesday, November 20, 2018 8:55 AM