0

Visual Studio 2015 で natvis を使用して、構造体の配列のエントリを個別の配列に表示する方法を探しています。

これを表示

+-x[0]
  +-a
  +-b
  +-c
+-x[1]
  +-a
  +-b
  +-c
...

なので

a
+-[0]    (= x[0].a)
+-[1]    (= x[1].a)
...
b
+-[0]    (= x[0].b)
+-[1]    (= x[1].b)
...
c
+-[0]    (= x[0].c)
+-[1]    (= x[1].c)
4

1 に答える 1

0

編集:コメントに続いて、これは実用的なソリューションですが、プロキシタイプの調整が必要です。私の場合、これは 2 の累乗値でのみ行うことができます。

#define A(t) __declspec(align(t))

struct C
{
    int a;
    int b;
    int c;
    int junk;
};

A(16) struct D
{
    int z;
};

A(16) struct DB {
    int junk;
    int z;
};

A(16) struct DC {
    int junk[2];
    int z;
};

typedef union
{
    D da;
    DB db;
    DC dc;
} Ui;

typedef union
{
    C c[50];
    Ui d[50];
} U;

元の(不完全な)回答:

各タイプは個別に解析され、視覚化されます。したがって、各 x 要素を解析するときに、後で a、b、および c を集計するためにそのデータを格納する方法はありません。

ただし、重複する (共用体) 型が配列と完全に一致するようにコードを変更することはできます。次に、タイプごとに個別のビジュアライザーを作成します。

__decltypestruct C { int a,b,c; };
struct D { int a[10], b[10], c[10]; };
union {
C c[10];
D d;
};
于 2016-12-19T19:29:54.327 に答える