I suggest you ...

Implement the features missing in natvis that autoexp.dat used to provide

The new natvis framework brings some improvements over autoexp.dat but sadly some key features from autoexp.dat have been lost, making it ****** and in some cases impossible to visualise types in natvis that could easily be visualised using autoexp.dat.

1. The loss of the $c notation means that it is no longer possible to reference the container object when defining the next pointer in a linked list. It is therefore not possible to correctly visualise a linked list that is teminated with an 'end node' held by the container because its address is not accessible at the point where it needs to be compared (please see http://social.msdn.microsoft.com/Forums/en-US/vsdebug/thread/1b7c2caa-e3d4-41f8-9611-a1ab0a2ca301).

2. It is also no longer possible to display the items in a collection as part of the display string because natvis does not support adding a list of items to a display string as autoexp.dat used to.

3. There is no equivalent in natvis to the <,t> notation from autoexp.dat that displayed the most derived type name for the current type.

50 votes
Vote
Sign in
Check!
(thinking…)
Reset
or sign in with
  • facebook
  • google
    Password icon
    I agree to the terms of service
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    Jeremy OrmeJeremy Orme shared this idea  ·   ·  Flag idea as inappropriate…  ·  Admin →

    6 comments

    Sign in
    Check!
    (thinking…)
    Reset
    or sign in with
    • facebook
    • google
      Password icon
      I agree to the terms of service
      Signed in as (Sign out)
      Submitting...
      • Youngjoon KimYoungjoon Kim commented  ·   ·  Flag as inappropriate

        I also have same problem visualizing my linked list since I cannot reference the container object when defining the next pointer.

      • Anonymous commented  ·   ·  Flag as inappropriate

        My HashMap is a dynamic array with certain elements marked as non-existant. I can change the visualization of these elements, but would like to remove them entirely. I know this was possible with autoexp (I think Daniel's autoexp may be accomplishing this).

      • Daniel LaügtDaniel Laügt commented  ·   ·  Flag as inappropriate

        With natvis, I'm not able to implement my old autoexp visualizer...

        fc_Dictionary<*,*> {
        children
        (
        #array
        (
        expr : ($e._hash_table)[$i],
        size : $e._size
        ) : #(
        #array
        (
        expr: $e,
        size: &($e) != 0
        ): #(
        #list
        (
        head : $e,
        next : _next_in_set
        )
        )
        )
        )
        }

      • Mathias WesterdahlMathias Westerdahl commented  ·   ·  Flag as inappropriate

        Yeah, I miss the $c functionality the most. This really stops me in the tracks and I have to invent suboptimal ways of displaying simple things.

      • Jeremy OrmeJeremy Orme commented  ·   ·  Flag as inappropriate

        The word that has been inexplicably bleeped out in my description is a synonym of difficult

      Feedback and Knowledge Base