web-dev-qa-db-fra.com

Dans le débogueur de Clion, comment puis-je afficher l'intégralité du contenu d'un tableau int

Pour l'instant, il ne montre que le premier élément du tableau, mais je veux un visuel de tous les éléments du tableau. Je pense que Clion utilise GDB.

EDIT: Je me réfère spécifiquement aux tableaux sur le tas. Les tableaux sur la pile peuvent être visualisés. 

16
Embedded_Mugs

Malheureusement, CLion ne supporte pas actuellement cette fonctionnalité. Comme suggéré par un employé de JetBrains , vous pouvez utiliser une solution de contournement. Dans la fenêtre Evaluer/Surveiller, utilisez l'expression suivante:

(MyType[128])myArray

Vous pouvez utiliser une taille de tableau arbitraire. tout ce qui fonctionne pour vous.

Si votre tableau est stocké dans la variable void *, vous devez faire quelque chose de plus délicat:

(MyType[128])*(char*)myArray

S'il vous plaît upvote cette question , pour augmenter les chances d'obtenir une vraie solution. Pour ce faire, cliquez sur la minuscule icône de pouce sur le côté droit de la page.

18
cubuspl42

La réponse de cubuspl42 fonctionne pour GDB. Mais si vous êtes sur un Mac utilisant LLDB comme débogueur, la méthode correcte est

(MyType(*)[128])myArray

J'espère que cela t'aides!

25
Miguel Alonso Jr

Vous pouvez utiliser template et reference: 

template<int N>
void foo1(int (&arr)[N])
{
    ...
}

Si vous voulez transmettre le tableau à une autre fonction, la fonction transmise doit également utiliser template et reference pour array: 

template<int N>
void foo2(int (&arr)[N])
{
    ...
}
template<int N>
void foo1(int (&arr)[N])
{
    foo2(arr);
}

Cette méthode vous permet de voir l’intégralité du contenu d’un tableau int dans clion

1
陳 力