Я заметил тег TotalView по этому вопросу. Вы спрашиваете, как увидеть значения в вашем массиве в totalview? Если так, то ответ довольно прост.
Допустим, у вас есть указатель p типа int *, и он в данный момент указывает на массив с 10 целыми числами.
Шаг 1. Погружение по указателю. Это можно сделать, дважды щелкнув, щелкнув среднюю кнопку мыши или используя параметр погружения в контекстном меню - и все это после наведения курсора мыши на переменную в области исходного кода или панели стека.
Откроется новое окно с надписью
Выражение: p
Адрес: 0xbfaa1234
Тип: int *
и вниз в области данных скажет что-то вроде
0x08059199 -> 0x000001a5 (412)
Это окно показывает вам сам указатель, указанный адрес является адресом указателя. Значение (0x08059199 в примере выше) является фактическим значением, которое имеет указатель. Все, что находится справа от стрелки, является просто «подсказкой», указывающей на то, на что она указывает.
Шаг 2. Погрузитесь на указатель снова. Повторите двойной щелчок или среднюю кнопку мыши, на этот раз для значения данных в окне переменной. (Таким образом, вы дважды щелкаете там, где написано 0x08059199).
Это эффективно разыменует указатель. Теперь окно ориентировано не на сам указатель, а на то, на что указывает указатель. Обратите внимание, что адресное поле теперь содержит 0x08059199, которое было значением ранее.
выражение: * (((int *) p))
Адрес: 0x08059199
Тип: int
и внизу в области данных он скажет что-то вроде
0x000001a5 (412)
Шаг 3. Приведите окно данных к нужному типу. Просто щелкните в поле типа и измените его на int [10]. Затем нажмите «вернуться».
Это говорит отладчику, что 0x08059199 - это начало массива из 10 целых чисел.
В окне вырастут два новых поля: Slice и Filter. Вы можете оставить их в покое, но они могут пригодиться позже.
В области данных теперь будут отображаться два столбца «поле» и «значение» и 10 строк.
Столбец поля будет индексом в массиве [0] - [9], а столбец значения скажет вам, какие данные у вас есть в каждом местоположении массива.
Другие советы:
В более сложных структурах данных вы можете захотеть погрузиться в отдельные элементы (которые также могут быть указателями, дайвинг также разыменует их)
Вы всегда можете привести к разным типам или длинам, чтобы смотреть на данные "как если бы они были" какими бы то ни было
Вы можете редактировать фактические значения данных, щелкая столбец значений и редактируя то, что вы там найдете. Это полезно, если вы хотите спровоцировать конкретное неправильное поведение в вашем приложении
Операции погружения всегда можно отменить с помощью значка «<» в верхнем правом углу окна переменной. </p>
Есть несколько онлайн-видео, которые могут оказаться полезными на
http://www.roguewave.com/products/totalview/resources/videos.aspx
в частности, есть один с пометкой «Начало работы с TotalView».
Не стесняйтесь обращаться к нам в Rogue Wave Software за советами по использованию TotalView!
поддержка в roguewave dot com - хороший адрес для этого.
Крис Готбрат
(Крис Дот Готбрат в roguewave dot com)
Менеджер по продукту TotalView в Rogue Wave Software