В отладчике Clion, как я могу показать все содержимое массива int

Прямо сейчас он показывает только первый элемент массива, но я хочу, чтобы все элементы в массиве были визуальными. Я думаю, что Clion использует GDB.

РЕДАКТИРОВАТЬ: я имею в виду конкретно массивы в куче. Массивы в стеке могут быть визуализированы.

16

Решение

К сожалению, CLion в настоящее время не поддерживает такую ​​функцию. Как предложено сотрудником JetBrains, Вы можете использовать обходной путь. В окне Evaluate / Watches используйте следующее выражение:

(MyType[128])myArray

Вы можете использовать произвольный размер массива; все, что работает для вас.

Если ваш массив хранится в void * переменная, вам нужно сделать что-то более сложное:

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

Пожалуйста, проголосуйте Эта проблема, увеличить шанс получить реальное решение. Это можно сделать, щелкнув по крошечному значку большого пальца в правой части страницы.

18

Другие решения

Ответ от cubuspl42 работает для ГБД. Но если вы используете Mac в качестве отладчика LLDB, правильный метод

(MyType(*)[128])myArray

Надеюсь это поможет!

24

Вы можете использовать шаблон и ссылку:

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

Если вы хотите передать массив другой функции, переданная функция должна также использовать шаблон и ссылку для массива:

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

Этот метод позволяет вам увидеть все содержимое массива int в clion

1
По вопросам рекламы ammmcru@yandex.ru
Adblock
detector