Eclipse-C ++-Отладка:просмотр содержимого массива
-
22-07-2019 - |
Вопрос
Можно ли увидеть содержимое динамически выделяемого массива, как в:
int *array = new int[dimension];
Я вижу только значение указателя.
Редактировать:только что нашел опцию "отображать в виде массива", но мне всегда приходится вручную вводить размер массива.Возможно ли получить это автоматически?
Решение
в eclipse, чтобы увидеть содержимое динамически размещенного массива (для всех, кто сталкивается с этим вопросом),
<Ол>
Другие советы
Если вы хотите, чтобы вам не приходилось многократно отображать «Показать как массив», откройте «Выражения». и добавьте выражение (* массив @ размерность)
. Не уверен, зачем нужны круглые скобки. Без них вы получите ошибку. Р>
На вкладке "Выражения", если вы сделаете то, что отметил клеонг, и введете (*array@dimension)
затем вы также можете динамически задать размер массива для отображения.Это работает даже тогда, когда вам нужно другое выражение, чтобы получить его.
Итак, допустим, у вас есть переменная x
который содержит ваш размер массива, вы вводите (*array@x)
и он будет использовать содержимое x в качестве измерения.
"x" также может быть чем-то вроде содержимого структуры или разыменования указателя и тому подобного, т. Е.
(*array@SomePtrToStruct->x)
работает просто отлично.
только что нашел параметр «отображать как массив», но мне всегда нужно вручную вводить размер массива. Можно ли получить это автоматически?
Это хорошо. Я бы придерживался этого. Автоматическое получение массива невозможно в общем случае в C или C ++, хотя, конечно, в некоторых тривиальных случаях это может быть сделано (но, вероятно, пока нет, - необходимо реализовать функции, прежде чем они существуют, чтобы перефразировать Раймонда Чена). р>